1-Java继承中多态情况特性下变量,方法,静态方法的访问

时间:2022-11-04 16:08:00

在Java继承下,多态特性下类成员访问情况

/*
在继承中,变量时静态的绑定的,非静态方法是动态的绑定的,静态方法是静态绑定的
*/ class Parent{
int number = 11;
public void show(){
System.out.println(number);
}
public static void test(){
System.out.println("Parent::test");
}
}
class Child extends Parent{
int number = 10;
public void show(){
System.out.println(this.number);
}
public static void test(){
System.out.println("Child::test");
}
} /*
通过父类的引用只能访问到父类所具有的的方法,子类的特殊的方法访问不到,
当子父类都具有某一方法时访问到的是子类的方法.因为父类的方法被覆盖了 通过父类的引用访问变量时,只能访问到父类中的成员变量,当是共有的成员变量时,
只能访问到父类的变量值的内容. 静态方法存放在特定的区域,类名.方法名();
*/ public class ExtendsTest{
public static void main(String[] args){
Child p = new Child();
Parent p1 = p;
System.out.println(p.number);//10
p.show();//10
System.out.println(p1.number);//11
p1.show();//10
p.test();
p1.test();
}
}