JAVA中的super和this关键字的使用
2015-04-19 15:29
190 查看
一 this关键字
this关键字可以出现在构造方法和实例方法中,不能出现在静态方法中,这是因为静态方法可以用类名来调用,这时可能还没有任何对象诞生。
this主要有两种用法:
1 用在构造方法中,调用本类的其他构造方法。 格式为 this([实参列表]); 通过this调用本类的其他构造方法时,该语句必须出现在构造方法中,并且必须作为第一条语句出现。
2 代指当前对象
例如:
二 super关键字
super关键字有两种用法:
1 在子类的构造方法中使用super关键字调用 直接父类 的构造方法,super语句必须是该子类构造方法中的第一句 。如果在子类中没有使用super关键字,系统会默认调用父类没有参数的构造方法,即隐含的使用super();语句,注意这时父类一定应该有一个无参数的构造方法。
2 使用super关键字调用被子类隐藏的成员变量和方法。如果子类定义了和父类具有相同名字的成员变量,子类就隐藏了从父类继承的成员变量。如果子类定义的某个方法与父类定义的某个方法完全相同,从父类继承的该方法就被完全隐藏(即override,覆盖)。
this关键字可以出现在构造方法和实例方法中,不能出现在静态方法中,这是因为静态方法可以用类名来调用,这时可能还没有任何对象诞生。
this主要有两种用法:
1 用在构造方法中,调用本类的其他构造方法。 格式为 this([实参列表]); 通过this调用本类的其他构造方法时,该语句必须出现在构造方法中,并且必须作为第一条语句出现。
2 代指当前对象
例如:
public class Person { private String name; private int age; private String gender; public Person() { //构造方法一 } public Person(String name, int age) { //构造方法二 this(name, age, null); //使用this关键字调用本类中的构造方法三 } public Person(String name, int age1, String gender) { //构造方法三 this.name = name; //因为参数与类中的成员变量名相同,所以用this.name来表示成员变量 age = age1; //因为参数与类中的成员变量名不同,所以可以不实用this.age,直接用age = age1 this.gender = gender; } }
二 super关键字
super关键字有两种用法:
1 在子类的构造方法中使用super关键字调用 直接父类 的构造方法,super语句必须是该子类构造方法中的第一句 。如果在子类中没有使用super关键字,系统会默认调用父类没有参数的构造方法,即隐含的使用super();语句,注意这时父类一定应该有一个无参数的构造方法。
2 使用super关键字调用被子类隐藏的成员变量和方法。如果子类定义了和父类具有相同名字的成员变量,子类就隐藏了从父类继承的成员变量。如果子类定义的某个方法与父类定义的某个方法完全相同,从父类继承的该方法就被完全隐藏(即override,覆盖)。
相关文章推荐
- eclipse使用、svn插件安装、java this关键字、super关键字
- Java拾遗补阙 ----- Super、This关键字使用总结
- Java中this关键字和super关键字的使用
- Java中this关键字在构造方法中的使用
- Java(this关键字、import、super)
- JAVA—Super和this关键字
- Java关键字this、super使用总结
- Java基础(9):Java关键字—this与super的使用方式
- Java this()和super()的使用注意
- JAVA学习笔记(四)——this关键字的使用
- Java关键字this、super使用总结
- java中的super关键字和this关键字
- Java中的super的使用
- Java OOP之封装性和this关键字的使用
- java基础技术知识点总结——super、this关键字
- java使用this关键字调用本类重载构造器
- Java (九) this与super关键字在继承中的使用
- Java关键字this、super使用总结
- Java中的super和this关键字
- 【JAVA基础】this关键字的使用