java继承与成员变量之间的关系

(5)继承与成员变量之间的关系:

A.当子类中的成员变量与父类中的成员变量名字一样的时候:

查找:(就近原则)

a.先在方法的局部范围内进行查找,如果找到就返回;

b.如果在方法局部范围找不到,去本类中成员位置上查找,如果找到就返回 ;

c.如果在中成员位置上找不到,去父类中成员位置上查找,如果找到就返回;

d.如果在父类中成员位置上找不到,报错。

B.当子类中的成员变量与父类中的成员变量名字不一样的时候,使用什么变量名,就访问谁。

(6)super关键字

通过super关键字可以去访问父类中的数据。

A. this关键字与super关键字的使用区别?

a.this代表的是调用该类的当前对象

b.super代表的是父类存储空间的标识(父类的引用,可以操作父类的成员)

B.如何使用关键字this和super

a.访问成员变量

this.成员变量 访问的是本类中的成员变量

super.成员变量 访问的是父类中的成员变量

b.访问构造方法

this(...) super(...)

c.访问成员方法

this.成员方法() super.成员方法()

eg:

class Father1{
    int num = 10;
    public void show(){
        System.out.println("这是父类中的show方法");
    }
}

class Son1 extends Father1{
    int num = 20;
    public void show(){
        int num = 30;
        System.out.println(num);
        System.out.println(this.num); // 访问的是本类中的成员变量
        //如何访问到父类中的同名成员变量呢?
        System.out.println(super.num);// 访问的是父类中的成员变量
        super.show();
        show1();
        this.show1();
    }

    public void show1(){
        System.out.println("这是Son1类中的show2方法");
    }
}
public class SuperThisTest {
    public static void main(String[] args) {
        Son1 son = new Son1();
        son.show();
    }
}
/*
运行结果:
30
20
10
这是父类中的show方法
这是Son1类中的show2方法
这是Son1类中的show2方法
 */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值