『壹』 在java中super和this的区别
区别如下:
1、this是对当前实例的引用,而super只是一个起辅助作用的关键字。
2、在本类的一个构造函数中,通过this(参数);可以调用本类的另一个构造函数,而在子类的一个构造函数中,通过super(参数);可以调用父类的某一个构造函数。
3、在子类的一个实例方法中通过super.父类方法名 (参数);可以调用父类的一个方法,这样也可以在子类的覆盖的父类方法中调用覆盖方法的父类版本。
4、在内部类的某个实例方法中通过外部类名.this访问外部类的当前实例。
5、super还可用在泛型类的定义中,对泛型类的类型参数做出某种限制。
『贰』 java中this和super关键字代表什么以及它们的三种作用
super关键字表示超(父)类的意思。this变量代表对象本身
使用super访问父类被子类隐藏的变量或覆盖的方法
使用this表示当前调用方法的对象引用
使用super调用基类构造函数,super应为构造函数中第一条语句
使用this调用本类另一构造函数,this应为构造函数中第一条
『叁』 java中this与super的异同
this与super的异同如下:
1. this有两个用途,一是引用隐式参数,而是调用该类其他的构造函数,形式是this(…);
2. super也有两个用途,一是调用超类方法,二是调用超类构造函数;
3.两者区别在于调用构造函数的语句都只能作为另一个构造函数的第一条语句出现;区别在于构造函数给传递给本类其他构造函数传递参数要用this,给超类构造函数传递参数要用super。
『肆』 JAVA 中super 和this 的区别
区别如下:
1、指代上的区别
(1)super:是对当前对象中父对象的引用。
(2)This:指当前对象的参考。
2、引用对象上的区别
(1)super:直接父类中引用当前对象的成员(当基本成员和派生类具有相同成员时,用于访问直接父类中隐藏父类中的成员数据或函数定义)。
(2)This:表示当前对象的名称(程序中容易出现歧义的地方,应该用来表示当前对象;如果函数的成员数据与该类中成员数据的名称相同,应用于表示成员变量名称)。
3、调用函数上的区别
(1)super:在基类中调用构造函数(是构造函数中的第一条语句)。
(2)This:在此类中调用另一个结构化的构造函数(是构造函数中的第一条语句)。