Обращение к приватному методу извне

222
18 ноября 2018, 11:00

Есть задача, в которой нужно поэкспериментировать с объектами типа Cat. Мы создали 5 кошек и делаем с ними разные вещи. С одной из этих кошек, я хочу провернуть зверство и замяукать ее до смерти. Есть метод meow, который при вызове сжигает 1 грамм веса кошки и печатает в консоль meow.

Как написать правильный цикл, который повторял бы мяуканье кошки, пока ее вес больше 0 ?

while (murka.weigth > 0){
      murka.meow();
}

Но у меня не получается, среда разработки пишет "weight has private acess to cat" Насколько я понял, класс этой кошки публичный,а вот параметры в нм приватные чем сулит изменение этих переменных на на публичные ? Есть ли способ, не меняя уровень приватности получать значения weith ?

public class Cat
{
private Double originWeight;
private Double weight;
private Double minWeight;
private Double maxWeight;
public Cat()
{
    weight = 1500.0 + 3000.0 * Math.random();
    originWeight = weight;
    minWeight = 1000.0;
    maxWeight = 9000.0;
}
Answer 1

Насколько я понял, класс этой кошки публичный,а вот параметры в нём приватные чем сулит изменение этих переменных на на публичные ?

Сулит тем что нарушается принцип инкапсуляции.

Есть ли способ, не меняя уровень приватности получать значения weith ?

Есть, используйте такой метод:

public Double getWeight() {
    return weight;
}
READ ALSO
Открыть layout поверх

Открыть layout поверх

Подскажите, как можно открыть лейаут нажатием на кнопкуМне не нужно открывать новый класс:

221
Легкий вопрос по логарифмам

Легкий вопрос по логарифмам

В школе мы еще не проходили логарифмы, а при изучении класса Math у меня возникли трудностиПрочитал про них в интернете, понял что логарифм...

194
Выполнния метода, при нажатии кнопки и выделения поля ввода

Выполнния метода, при нажатии кнопки и выделения поля ввода

Необходимо, что бы при выделении JTextField и нажатии кнопки(Enter, например), вызывался метод

236