java多态类的成员访问特点探究
来源:互联网 发布:淘宝客服骂人 编辑:程序博客网 时间:2024/05/21 09:23
普通成员变量编译时看左边类型,运行时看左边类型
普通成员方法编译时看左边类型,运行时看右边类型
静态成员变量和静态方法是属于类所有的,不依赖于对象,编译时看左边,运行时看右边
由于子类在集成父类的时候会对父类的普通成员方法进行重写,因此在运行时调用的是子类的成员方法,普通成员变量、静态成员变量和静态方法不管是在编译期间还是运行期间均是按照父类来执行。下面举例说明:
下面是PolymorphicParent.java内容
package com.mzbonnt.classabout;/** * 父类,用以测试多态类的成员访问特点 * @author hp * */public class PolymorphicParent {public int num = 10;public static int num2 = 20;public void show(){System.out.println("父类show");}public static void method(){System.out.println("父类静态method");}}下面是PolymorphicDemo.java内容
package com.mzbonnt.classabout;/** * 子类,用以测试多态类的成员访问特点 * @author hp * * 普通成员变量编译时看左边类型,运行时看左边类型 * 普通成员方法编译时看左边类型,运行时看右边类型 * 静态成员变量和静态方法是属于类所有的,不依赖于对象,编译时看左边,运行时看右边 */public class PolymorphicDemo extends PolymorphicParent{public int num = 100;public static int num2 = 200;public void show(){System.out.println("子类show");}public static void method(){System.out.println("子类静态method");}public void show2() {System.out.println("子类show2");}public static void method2() {System.out.println("子类show2");}public static void main(String[] args) {PolymorphicParent polymorphic = new PolymorphicDemo();//普通成员变量System.out.println(polymorphic.num);//10//静态成员变量System.out.println(polymorphic.num2);//20System.out.println(PolymorphicParent.num2);//20System.out.println(PolymorphicDemo.num2);//200//普通成员方法polymorphic.show();//子类show//静态成员方法polymorphic.method();//父类静态methodPolymorphicParent.method();//父类静态methodPolymorphicDemo.method();//子类静态method}}
1 0
- java多态类的成员访问特点探究
- 多态中成员访问的特点
- JAVA 多态中的成员访问特点
- JAVA 多态中成员的特点
- Java多态中成员的特点
- 0904 Java中的多态的成员访问特点、好处、坏处
- java 基础 面向对象(多态中的成员访问特点之静态成员成员方法)
- Java成员变量的一些特点
- 多态成员访问特点
- java面向对象-多态中成员函数成员变量的特点
- Java语法探究——从多层内部类/嵌套的类中访问外部类的成员
- java的成员访问控制
- 接口的成员特点
- 静态成员的特点
- 接口的成员特点
- 多态时,成员的特点
- 子父类中成员的特点
- 多态中成员的特点
- 原来border还可以这样用
- Install Ganglia on Ubuntu 14.04 Server (Trusty Tahr)
- hihoCoder题目AC #1040 : 矩形判断 Java
- Hadoop集群搭建笔记
- JAVA API 被坑备忘录
- java多态类的成员访问特点探究
- WCF入门教程——宿主(三)
- 设计模式之------创建型模式(五)-----原型模式
- Unity3D 简单待机状态图片循环淡入淡出
- 动态类型dynamic和动态语言运行时DLR
- 【练习】经典算法练习
- ubuntu nodejs+express安装
- Otsu算法在C/C++上的实现(从图片读取到像素值计算以及图片写回)
- 文件操作二:基于C++语言的文件操作