「java关键字super」java关键字及其含义
今天给各位分享java关键字super的知识,其中也会对java关键字及其含义进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、JAVA 中super 和this 的区别?
- 2、关键字super在java中的主要作用是什么,如何使用?
- 3、JAVA中super的作用
- 4、JAVA中的super代表什么意思??
- 5、java构造方法中super()的作用是什么?
- 6、下列选项中关于Java中super关键字的说法正确的是( )。
JAVA 中super 和this 的区别?
区别如下:
1、指代上的区别
(1)super:是对当前对象中父对象的引用。
(2)This:指当前对象的参考。
2、引用对象上的区别
(1)super:直接父类中引用当前对象的成员(当基本成员和派生类具有相同成员时,用于访问直接父类中隐藏父类中的成员数据或函数定义)。
(2)This:表示当前对象的名称(程序中容易出现歧义的地方,应该用来表示当前对象;如果函数的成员数据与该类中成员数据的名称相同,应用于表示成员变量名称)。
3、调用函数上的区别
(1)super:在基类中调用构造函数(是构造函数中的第一条语句)。
(2)This:在此类中调用另一个结构化的构造函数(是构造函数中的第一条语句)。
关键字super在java中的主要作用是什么,如何使用?
对于有继承关系的类,子类可以通过这个关键字调用父类中的方法。至于理解如下:
eg:
public
int
A
extends
B{
super.query();
此句话的意思是调用父类中的方法query()[当然这个方法不可以使private类型],在你理解的时候,你看到super你可以把它看成是B方法的实例。即
B
b
=
new
B();然后b.qurey()
至于原理,就像上一位解释的,当你new
A()时,实例化的顺序是先实例化父类,再实例化子类的,所以继承的类都是这样的。这应该也是子类为什么可以调用父类的方法的原因。
在同一个类中用super关键字,调用其它构造函数,他一般也是在构造方法中,为了避免代码重复,直接调用已经写过的代码,你要注意的是他的写法,即
super(构造方法名),而且必须是这个构造方法的第一句。
}
JAVA中super的作用
super可作用是向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类。
super也有三种用法:
1、普通的直接引用
与this类似,super相当于是指向当前对象的父类,这样就可以用super.xxx来引用父类的成员。
2、子类中的成员变量或方法与父类中的成员变量或方法同名。
3、引用构造函数
super(参数):调用父类中的某一个构造函数(应该为构造函数中的第一条语句)。
this(参数):调用本类中另一种形式的构造函数(应该为构造函数中的第一条语句)。
扩展资料
super使用
示例:
class Country {
String name;
void value() {
name = "China";
}
}
class City extends Country {
String name;
void value() {
name = "Shanghai";
super.value(); //调用父类的方法
System.out.println(name);
System.out.println(super.name);
}
public static void main(String[] args) {
City c=new City();
c.value();
}
}
JAVA中的super代表什么意思??
super();表示调用父类的构造方法,只是调用方法,不构造对象。 super.fun();表示调用父类的某方法 在继承的时候这个方法是肯定被继承下来的。如果fun()这个方法在子类没有重写,那么super.fun();实际上跟直接调用fun();是一样的。 如果被重写了,那么super.fun();就是重写前的,fun();就是重写后的。
java构造方法中super()的作用是什么?
其实在java里,super关键字有主要的两种用法:\x0d\x0a1、用在子类的构造方法里,主要是调用父类的默认构造方法。\x0d\x0a2、在子类里调用隐藏或重写的属性或行为。\x0d\x0a要理解用法第一,涉及到java的对象的初始化,要明白第二用法,不难但要先有继承多态的基础,就很好理解了!
下列选项中关于Java中super关键字的说法正确的是( )。
答案是C。
这个问题应该是Java中的问题。当子类调用父类的构造函数的时候,就要通过(super。父类名称)来调用。所以super是指当前对象的父类。
Thread(ThreadGroupgroup,Runnabletarget,Stringname)分配新的Thread对象,以便将target作为其运行对象,将指定的name作为其名称,并作为group所引用的线程组的一员。
调用父类的属性
一个类中如果有intx属性,如果其子类中也定义了intx属性的话,在子类中调用父类的x属性,如果其子类中也定义了intx属性的话,在子类中调用父类的x属性时应用super.x=6,表示该x是引用的父类的属性,而要表示子类中的x属性的话,使用this.x.Java里在子类中用super调用父类构造函数时,调用函数必须放在子类的第一条语句的位置。
以上内容参考:百度百科-Java关键字super
java关键字super的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java关键字及其含义、java关键字super的信息别忘了在本站进行查找喔。
发布于:2022-11-26,除非注明,否则均为
原创文章,转载请注明出处。