继承

匿名 (未验证) 提交于 2019-12-02 23:57:01

/*
在父子类的继承关系中,如果成员变量重名,则创建子类对象时,访问有两种方式:
1.直接通过子类对象访问成员变量:等号左边是谁,则优先用谁,没有则向上找
2.间接通过成员方法访问成员变量:方法属于谁就优先用谁,没有则向上找
*/
定义子类:
public class Zi extends Fu {

int numZi = 20; int num=200; public void methodZi(){      //因为本类中有num,所以优先用本类的num     System.out.println(num); }

}
定义父类:
public class Fu {

int numFu=10; int num=100; public void methodFu(){     System.out.println(num);    //只能用本类中的num,不会找子类 }

}
主函数:

    Fu fu=new Fu();   //创建一个父类的对象     System.out.println(fu.numFu);  //10,父类对象只能使用父类的内容,没有任何子类内容     System.out.println("================");      Zi zi = new Zi();     System.out.println(zi.numZi);     //20     System.out.println(zi.numFu);     //子类可以继承父类的内容,所以是10     System.out.println("================");      //当子类和父类成员方法重名时:     //1.等号左边是谁,就优先用谁     System.out.println(zi.num);   //优先子类,200     System.out.println(fu.num);     System.out.println("================");      //2.方法属于谁就优先用谁     zi.methodZi();            //方法是子类的,优先用子类的,没有则向上找     zi.methodFu();            //方法是在父类中定义的,输出是的父类的num
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!