试题详情
- 简答题this、super关键字有何用途?
-
子类在继承父类时,可能会出现变量隐藏、方法覆盖(overriding)等现象。变量隐藏指子类的成
员变量与父类成员同名,此时,父类的成员变量被隐藏。方法覆盖指子类的方法与父类的方法名相同,方法的返回值类型、入口参数的数目、类型、顺序均相同,只是方法实现的功能不同,此时父类的方法被覆盖。如果子类需要调用或访问父类被隐藏的变量或被覆盖的方法,可以使用super关键字实现。Java提供关键字super来实现对父类的成员和方法的访问。
Super有三种情况可以使用:
⑴ 用来访问父类中被覆盖的方法;
⑵ 用来访问父类中被隐藏的成员变量;
⑶ 用来调用父类中的构造方法。
关键字this可以出现在类的构造方法和非static修饰的成员方法(即实例方法)中,代表实例对象自身,有以下几种使用情况:
(1)在类的成员方法中,可以通过this来访问实例对象的成员变量或调用成员方法。
(2)在类的成员方法中,区分成员变量和局部变量;
(3)在类的成员方法中,使用this返回实例对象本身的引用;
(4)在类的构造方法中,使用this调用该类的其他构造方法。 关注下方微信公众号,在线模考后查看
热门试题
- 以下不属于Swing的控件是()。
- 如下列说法正确的是()。
- 在Java语言中,以下哪个关键字用于在方
- 一个接口可以同时继承多个接口。
- 以下说法哪些是正确的?()
- JDBC的模型对开放数据库连接(ODBC
- 通过实现Runnable接口的方式创建一
- Java可以在while后表达式中使用的
- 设有数组定义:inta[]=newint
- 如果在当前目录下不存在Hello.txt
- “abcd”instance of Ob
- 枚举中定义的构造方法可以使用public
- 从键盘上输入一个字符串创建文件对象,若要
- 简述Java的接口和C++的虚类的相同和
- 在声明成员方法的时候,没有被关键字sta
- 在Java中,以下标识符不合法的是()。
- 下列整数的定义中,错误的是()
- 每个Java小应用程序必须定义为()
- Java体系有哪几部分构成?()
- Java中的显式类型转换既能()也能从高