Java自学|this和super

Java自学|this和super


1.概念
  • this指的是当前对象
  • super指的是父类
2.实例

同样,我们定义一个基类Person,有一个属性name:

//基类
public class Person {
    String name = "Hello";
}

其次,定义一个子类Student,继承基类Person,并且子类也有一个属性是name:

//子类
public class Student extends Person{
    String name = "World";
    public void printName(){
        System.out.println(this.name);
        System.out.println(super.name);
    }
}

我们在实例化Student类的时候,如果要访问属性name,那么我们所表达的是继承过来的name还是自己的name呢?(换句话说就是富二代自己挣了钱,又继承的他爸爸的钱,那么我们所说的钱是它本来就有的呢还是他爸爸的那部分呢?)

这里我们要做一下区分,用this和super来区分,this表示当前对象本来就有的(即富二代自己挣的钱),super表示继承而来的(即富二代的父亲的钱):

public class selfStudy {
    public static void main(String[] args) {
        Student student = new Student();
        student.printName();
    }
}

调用了student的printName方法,我们可以看到先输出了this.name,再输出了super.name:

在这里插入图片描述

同样this和super也可以对方法进行类似的操作

3.注意点
  1. super调用父类的构造方法,必须再构造方法的第一个
  2. super必须只能出现再子类的方法或者构造方法中
  3. super和tihis不能同时调用构造方法
  4. this本身代表本身这个对象,super代表父类对象的应用
  5. this,没有继承也可以用,super只能在继承时才能使用
  6. this()本类的构造,super()父类的构造

世上没有白走的路,每一步都算数!

跟上狂神说Java!

每个牛B的人背后都有段苦逼的岁月,只要像sb一样的坚持,终将牛B!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alan_Lowe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值