154/155继承中成员变量的访问特点和重命名的三种变量
作者:互联网
继承中成员变量的访问特点
在父子类的继承关系当中,如果成员变量重名,则创建子类对象时,访问有两种方式:
直接通过子类对象访问成员变量:
等号左边是谁,就优先用谁,没有则向上找。
间接通过成员方法访问成员变量:
该方法属于谁,就优先用谁,没有则向上找。
创建父类
public class Fu { int numfu =20; int num = 100; }
创建子类继承父类

public class Zi extends Fu{ int numZi = 20; int num = 200; public void method(){ //因为本类当当中有num,所以这里用的事本来的num System.out.println(num); } }
测试类
1 public static void main(String[] args) { 2 Fu fu = new Fu(); //创建父类对象 3 System.out.println(fu.numfu); 4 //只能使用父类的东西,没有任何子类内容 5 System.out. println( "======E===="); 6 Zi zi = new Zi(); 7 System.out.println(zi.numfu); 8 System.out.println(zi.numZi); 9 System.out.println( "=ss=s=s=a=="); 10 //等号左边是谁,就优先用谁 11 System.out.println(zi.numZi); 12 // System.out.println(Zi.num); //到处都没有,编译报错! 13 System.out.println( "==z=z======"); 14 //这个方法是子类的,优先用子类的,没有再向上找 15 //这个方法是在父类当中定义的, 16 zi.method(); 17 }
区分子类方法中重名的三种变量
局部变量:
直接写成员变量名
本类的成员变量:
this.成员变量名
父类的成员变量:
super.成员变量名
父类
public class Fu { int numfu =20; int num = 100; }
子类继承父类
public class Zi extends Fu{ int numZi = 20; int num = 200; public void method(){ //因为本类当当中有num,所以这里用的事本来的num System.out.println(num); } }
测试类
public static void main( String[] args ) { Zi zi = new Zi(); zi.method(); }
标签:155,变量,int,System,println,num,154,public,out 来源: https://www.cnblogs.com/agzq/p/16443560.html