62,614
社区成员
发帖
与我相关
我的任务
分享
public class testExtends {
public static void main(String[] args) {
Cat c = new Cat();
System.out.println(c.getName());
Animal a = new Animal();//没有给动物的name另外赋值
System.out.println(a.getName());//但是拿到的值是动物而不是猫,说明创建Cat对象时并没有改变name的属性,只是Cat对象自己的name
}
}
class Animal {
private String name="动物";
public Animal(){
}
public String getName() {
return name;//相当于this.name,所以输出的肯定是父类的.
}
}
class Cat extends Animal {
String name="猫";
public String getAnimalName(){
return super.getName();
}
}
public class testExtends {
public static void main(String[] args) {
Cat c = new Cat("猫");
System.out.println(c.getName());
Animal a = new Animal();//没有给动物的name另外赋值
System.out.println(a.getName());//但是拿到的值是动物而不是猫,说明创建Cat对象时并没有改变name的属性,只是Cat对象自己的name
}
}
class Animal {
private String name="动物";
public Animal(){
}
public Animal(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
class Cat extends Animal {
String name="猫";
public Cat(String n) {
super(n);
}
public String getAnimalName(){
return super.getName();
}
}
[/quote]
嗯.有道理
public class testExtends {
public static void main(String[] args) {
Cat c = new Cat("猫");
System.out.println(c.getName());
Animal a = new Animal();//没有给动物的name另外赋值
System.out.println(a.getName());//但是拿到的值是动物而不是猫,说明创建Cat对象时并没有改变name的属性,只是Cat对象自己的name
}
}
class Animal {
private String name="动物";
public Animal(){
}
public Animal(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
class Cat extends Animal {
String name="猫";
public Cat(String n) {
super(n);
}
public String getAnimalName(){
return super.getName();
}
}