博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA中的super和this关键字的使用
阅读量:4971 次
发布时间:2019-06-12

本文共 1095 字,大约阅读时间需要 3 分钟。

一 this关键字

this关键字可以出现在构造方法和实例方法中,不能出现在静态方法中,这是因为静态方法可以用类名来调用,这时可能还没有任何对象诞生。

this主要有两种用法:

1 用在构造方法中,调用本类的其他构造方法。  格式为  this([实参列表]);   通过this调用本类的其他构造方法时,该语句必须出现在构造方法中,并且必须作为第一条语句出现。

2 代指当前对象

例如:

1 public class Person { 2  3 private String name; 4  5 private int age; 6  7 private String gender; 8  9 public  Person() { //构造方法一10 11 }        12 13 public  Person(String name, int age) {  //构造方法二14 15 this(name, age, null);                  //使用this关键字调用本类中的构造方法三16 17 }18 19 public Person(String name, int age1, String gender) {   //构造方法三20 21 this.name = name;                      //因为参数与类中的成员变量名相同,所以用this.name来表示成员变量22 23 age = age1;                            //因为参数与类中的成员变量名不同,所以可以不实用this.age,直接用age = age124 25 this.gender = gender;26 27 }28 29 }

 

二 super关键字

super关键字有两种用法:

1 在子类的构造方法中使用super关键字调用    直接父类     的构造方法,super语句必须是该子类构造方法中的第一句 。如果在子类中没有使用super关键字,系统会默认调用父类没有参数的构造方法,即隐含的使用super();语句,注意这时父类一定应该有一个无参数的构造方法。

2 使用super关键字调用被子类隐藏的成员变量和方法。如果子类定义了和父类具有相同名字的成员变量,子类就隐藏了从父类继承的成员变量。如果子类定义的某个方法与父类定义的某个方法完全相同,从父类继承的该方法就被完全隐藏(即override,覆盖)。

转载于:https://www.cnblogs.com/sodawoods-blogs/p/4439230.html

你可能感兴趣的文章
上周热点回顾(8.18-8.24)
查看>>
Feature toggle
查看>>
day02
查看>>
我是怎么招聘程序员的
查看>>
gvim 配置Pydiction
查看>>
Linux安装指定mysql版本
查看>>
Exception in thread "main" java.lang.ClassNotFoundException: 解决方法
查看>>
移动应用(手机应用)开发IM聊天程序解决方案
查看>>
[转载] K3漏油器全紫铜替换原硅胶垫教程。标准姿势
查看>>
python set
查看>>
VC中使用ADO操作数据库的方法
查看>>
如何判断域名是否被微信拦截 被已经被微信封了的的域名网址如何在微信中正常打开...
查看>>
分布式锁的三种实现方式
查看>>
AJAX原生JS代码
查看>>
ThinkPHP提示错误
查看>>
poj 2109 pow函数也能这么用?p的开n次方
查看>>
Oracle database link
查看>>
清北学堂2017NOIP冬令营入学测试P4749 F’s problem(f)
查看>>
POJ 1840 Eqs HASH
查看>>
python调用shell小技巧
查看>>