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:
同样this和super也可以对方法进行类似的操作
3.注意点
世上没有白走的路,每一步都算数!
跟上狂神说Java!
每个牛B的人背后都有段苦逼的岁月,只要像sb一样的坚持,终将牛B!