A{
private name;
public A (name){
this.name = name;
}
class B extends A {
private year:
public B (year, name) {
super(name);
this.year = year;
}
но если вызываю в консоль то вижу конструктор только класса B
А как вызвать в консоль оба поля и класса А и B но создав объект B?
понятно что можно через гет, но как-то можно сделать чтобы вывелось сразу 2 поля , по факту в конструктор я же передал 2 поля?
приветствую, приватные поля и методы не наследуются как правило от родителя
У тебя this, year и super(name) в одном конструкторе. А так нельзя.
то есть к ним можно обратиться только через геттер. Я логику то понимаю почему так происходит, просто хотел в консоли вывести весь объект для проверки, там просто очень много полей и все гетерами тащить очень долго
почему так нельзя, это же наследование переопределение родительского конструктора?
это кто так сказал?)
как ты выводишь на консоль? вангую у тебя на консоль выводится toString(), по умолчанию он печатает вообще имя класса + адрес, если у тебя ломбоком нагенерился - поля текущего класса по-умолчанию, если надо и родительского - скажи ему это явно
ага понял спасибо тоже уже подумал так
HeadFirst Java
я бы посмотрел что там. опять таки книжки на столько же вредны бывают, на сколько и полезны ибо несут чисто мнение автора, а не бест практис
все ок в книге кстати, посмотрели. трудности перевода
ты наверное про this - в смысле вызова конструктора того же класса ? так нельзя. но при чем тут это ?
Да, именно с этим я и спутал
Обсуждают сегодня