new实例化核心::::

来源:互联网 发布:sg9051单片机代码 编辑:程序博客网 时间:2024/06/05 19:47

class Fu{

int num = 5;void method1(){    System.out.println("fu method_1");}void method2(){    System.out.println("fu method_2");}static void method4(){    System.out.println("fu method_4");}

}
class Zi extends Fu{

int num = 8;void method1(){    System.out.println("zi method_1");}void method3(){    System.out.println("zi method_3");}static void method4(){    System.out.println("zi method_4");}

}
public class DuoTai {

/** * @param args */public static void main(String[] args) {    // TODO Auto-generated method stub    Zi z = new Zi();    z.method1();    z.method2();    z.method3();    System.out.println(z.num);/*核心:::: *在多态中成员函数(非静态)的特点: *在编译时期:参阅引用型变量所属的类(Fu)中是否有调用的方法,如果有,编译通过,如果没有则编译失败 *在运行时期:参阅对象所属的类(Zi)中是否有调用的方法 *简单总结就是:成员函数(非静态)在调用多态时,编译看左边,运行看右边。子类没有才看父类 *对于静态函数(static)来讲: *无论编译和运行都参考左边。不参考右边的的对象。 *在多态中成员变量的特点: *无论编译和运行,都参考左边(引用型变量所属的类); * */       Fu f = new Zi();    f.method1();    f.method2();    //f.method3();//找不到对象 故编译不通过    System.out.println(f.num);    f.method4();}

}

0 0
原创粉丝点击