Есть класс, в конструкторе которого вызывается другой класс, в котором в свою очередь есть публичный геттер, возвращающий значение поля.
public class A {
private B b;
private A() {
b = new B();
}
private String method() {
b.getField(); // 1
}
}
class B extends JTabbedPane {
private String f;
public String getField() {
return f;
}
}
Проблема в строке 1, метод класса В.getField
недоступен.
Error:(146, 37) java: cannot find symbol symbol: method getField() location: variable pCommon of type javax.swing.JTabbedPane
Поле объявляется примерно так:
[модификатор] [статик/не статик] тип имя;
то есть минимум надо так
private B b;
У конструктора должны быть скобки:
private A() {
// smth
}
Ну и метод getField
недоступен потому, что в "конструкторе" объявляется одна переменная b
, доступная только в его области видимости, а в method
пытаешься обратиться к методу совсем непонятной переменной b
нигде даже не объявленной.
Также у метода method
не указан тип выходного параметра, хотя бы void
например.
В классе B
— аналогично с методом.
Как это вообще работает — неизвестно.
Вопрос решен.
Моя вина, в тексте вопроса все написано верно, а в реальном коде, в классе А, вместо объявления переменной
private B b;
написал ссылку на базовый класс
private JTabbedPane b;
соответственно новые методы не были доступны.
Всем откликнувшимся спасибо.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть метод myMethod(); надо его запускать через определенное время допустим 45-60 секунд ,пытался сделать через
Хочу написать свои аннотации, так как возникло несколько идей, но не могу понять как это сделатьВроде легко, но вопрос: как к аннотации прикрепить...
Внезапно перестал работать программа выдает ошибку