多态情况下:
多态:比如向上造型,接口的继承,父接口变量的引用指向子接口等。
1:当子类和父类存在同名的成员变量时,默认会访问父类的成员变量。
2:当子类和父类存在同名的非静态函数时,默认会去访问子类的成员非静态函数。
3:当子类和父类存在同名的静态函数时,默认会去访问父类的成员静态函数。
4:多态情况下,不能访问子类特有的成员(函数,成员变量);
总结:在多态下,子父类存在同名的成员时,默认都会去访问父类的成员,只有存在非静态的同名函数时,才会访问子类的成员。
编译看左边,运行不一定看右边。
编译看左边:java编译器在编译的时候,会先检查引用变量的类是否具备所属他自己的成员,如果不具备编译报错。
多态:比如向上造型,接口的继承,父接口变量的引用指向子接口等。
1:当子类和父类存在同名的成员变量时,默认会访问父类的成员变量。
2:当子类和父类存在同名的非静态函数时,默认会去访问子类的成员非静态函数。
3:当子类和父类存在同名的静态函数时,默认会去访问父类的成员静态函数。
4:多态情况下,不能访问子类特有的成员(函数,成员变量);
总结:在多态下,子父类存在同名的成员时,默认都会去访问父类的成员,只有存在非静态的同名函数时,才会访问子类的成员。
编译看左边,运行不一定看右边。
编译看左边:java编译器在编译的时候,会先检查引用变量的类是否具备所属他自己的成员,如果不具备编译报错。