对于多态的理解
程序员文章站
2022-05-06 17:51:44
...
多态的一些口诀
成员变量,静态方法看左边;
非静态方法:编译看左边,运行看右边。
class Fu {
intnum = 5;
static void method4() {
System.out.println("fu method_4");
}
void method3() {
System.out.println("fu method_3");
}
}
class Zi extends Fu {
intnum = 8;
static void method4() {
System.out.println("zi method_4");
}
void method3() {
System.out.println("zi method_3");
}
}
class demo{
public static void main(String[] args) {
Fu f = new Zi();
System.out.println(f.num);//与父类一致
f.method4();//与父类一致
f.method3();//编译时与父类一致,运行时与子类一致
Ziz = new Zi();
System.out.println(z.num);
z.method4();
z.method3();
}
}
输出结果:
5
fu method_4
zi method_3
8
zi method_4
zi method_3
从第一个输出能看出,Fu f = new Zi();,访问的是成员变量,所以看左边,也就是 f 访问自己的成员变量,但访问静态方法,还是f 访问自己的静态方法,而当运行普通方法时,运行则看右边,就是zi 来运行它自己的方法。其实挺好理解的
上一篇: Java对于多态的理解
下一篇: JSP知识点解析(二)