This与Super关键字

开发工具与关键技术:MyEclipse 10;Java基础语法

撰写时间:2019-05-04

This关键字:this就是其所在函数所属对象的引用,就是代表本类对象的引用,当在函数内需要用到调用该函数的对象时,就用this例程。

在没使用关键字this之前,这种情况叫做局部变量和成员变量同名了。

使用了关键字this,使用this后可以理解为是这个对象的name,也就是说当成员变量和局部变量重名时就可以用this来区分。This代表的是当前的对象,简单说哪个对象调用了this所在的函数,this就代表哪个对象。

一个类(除静态类)当中所有的成员,想要被执行都必须要有对象调用,这时就要用到了this关键字。This也可以用于在构造函数中调用其他构造函数,但要注意的是只能定义在构造函数的第一行。因为初始化动作要先执行。

Super关键字:在继承的时候我们就会用super这个东西,类指向自己,而super指向父类,表示父类对象默认的引用,是子类所属的父类中的内存空间引用。有的时候重写了父类的方法,又想调用父类的方法,那么这个时候就可以用到super这关键字。而在静态方法中是不能使用super关键字,这方面还是要注意。

Super关键字中调用父类的构造方法,在调用时super必须要放在第一句,Java 在执行子类的构造方法前会先调用父类无参的构造方法,其目的是为了对继承自父类的成员做初始化操作。如果父类中没有空参数的构造函数,那么子类的构造函数内,必须通过 super 语句指定要访问的父类中的构造函数。

public class Bird {

   int cpu=55;

   public void computer(){

     System.out.println("我是一台电脑");

   }

}

public class Ostrch extends Bird{

   public void spuerDemo(){

   super.computer();

   System.out.println(super. cpu);

   }

}

在构造函数中super()和this()只能出现其中一个,因为它们在定义构造函数的时候都要放在第一行,放在第一行的原因就是要让初始化先执行,所以呢他们两个在构造函数中只能出现一个。Super和this关键在静态方法中是不可以使用的,this 代表对象而静态在时,有可能没有对象,static关键字也是不能与Super和this连用的

猜你喜欢

转载自blog.csdn.net/weixin_44552128/article/details/89844002