class son extends father {
public void plus() {
a++;
}
public int getA() {
return super.a;
}
}
你把子类的int a 去掉 运行结果 你就明白了
--------------------编程问答--------------------
public class Test {
public static void main(String[] args) {
Dog dog = new Dog();
dog.call();
MiniDog mini = new MiniDog();
mini.call();
Dog d = (Dog) mini;
d.call();
}
}
class Dog {
private String getName() {
return "Dog";
}
public String bark() {
return "wang wang";
}
public void call() {
System.out.println("I'm " + getName() + " " + bark());
}
}
class MiniDog extends Dog {
private String getName() {
return "Mini";
}
public String bark() {
return "wo wo";
}
}
那这个怎么解释
--------------------编程问答--------------------
前面不难理解,为什么后面是那样的呢?
http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html
public class father {
int a = 100;
public void min() {
this.a--;
}
在调试时候 this 指向的是 son 但是 this.a 却是 father的a。
--------------------编程问答--------------------
子类没有那个方法怎么用?
就好像花钱一样,自己没有,还不用老子的啊?(败家子的做法)
public class Test {
public static void main(String[] args) {
Dog dog = new Dog();
dog.call();
MiniDog mini = new MiniDog();
mini.call();
Dog d = (Dog) mini;
d.call();
}
}
class Dog {
private String getName() {
return "Dog";
}
public String bark() {
return "wang wang";
}
public void call() {
System.out.println("I'm " + getName() + " " + bark());
}
}
class MiniDog extends Dog {
private String getName() {
return "Mini";
}
public String bark() {
return "wo wo";
}
}
那这个怎么解释
MiniDog mini = new MiniDog();这个时候是子类对象,为什么在getName()方法中还是返回DOg不是应该返回Mini吗?
--------------------编程问答--------------------
子类没有那个方法怎么用?
就好像花钱一样,自己没有,还不用老子的啊?(败家子的做法)
public class Test {
public static void main(String[] args) {
Dog dog = new Dog();
dog.call();
MiniDog mini = new MiniDog();
mini.call();
Dog d = (Dog) mini;
d.call();
}
}
class Dog {
private String getName() {
return "Dog";
}
public String bark() {
return "wang wang";
}
public void call() {
System.out.println("I'm " + getName() + " " + bark());
}
}
class MiniDog extends Dog {
private String getName() {
return "Mini";
}
public String bark() {
return "wo wo";
}
}
那这个怎么解释