Пожалуйста помогите разобраться.
вроде бы решил задачу но не пойму до конца что и как происходит.
1. После присваивании типу Pet pet объект класса Cat(); pet.setName("Я - пушистик"); присваивает name значение "Я - пушистик"?
2. потом System.out.println(pet.getName()); выводит то что возвращает метод getName()? то есть "Я - пушистик".
3. А когда мы переопределяем метод setName(); класса Cat, значит уже метод setName() класса Pet не будет работат?
4.и в методе setName() класса Кот, на что указывает слово-ключ this?
package com.javarush.task.task12.task1223;
/*
И снова Пушистик…
*/
public class Solution {
public static void main(String[] args) {
Pet pet = new Cat();
pet.setName("Я - пушистик");
System.out.println(pet.getName());
}
public static class Pet {
protected String name;
public Pet() {
}
public final String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public static class Cat extends Pet {
public void setName(String name){
this.name="";
}
}
}
package com.javarush.task.task12.task1223;
/*
И снова Пушистик…
*/
public class Solution {
public static void main(String[] args) {
Pet pet = new Cat();
pet.setName("Я - пушистик");
System.out.println(pet.getName());
}
public static class Pet {
protected String name;
public Pet() {
}
public final String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public static class Cat extends Pet {
public void setName(String name){
name="";
}
}
}