当前位置 : 主页 > 编程语言 > java >

Java自学|this和super

来源:互联网 收集:自由互联 发布时间:2022-07-13
Java自学|this和super 1.概念 this指的是当前对象 super指的是父类 2.实例 同样,我们定义一个基类Person,有一个属性name: //基类 public class Person { String name = "Hello" ; } 其次,定义一个子类St


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:

Java自学|this和super_this

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

3.注意点

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

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

    跟上狂神说Java!

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


    上一篇:Java自学|多态
    下一篇:没有了
    网友评论