概述
本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于关键字中this和super的相关问题,以及他们的一些区别,下面一起来看一下,希望对大家有帮助。
推荐学习:《java视频教程》
一、“ this ”关键字的使用
1. 概述
- this是什么?
2. 作用
3. 使用
- 什么时候使用this关键字呢?
3.1 修饰属性和方法
代码演示:
class Person{ // 定义Person类
private String name ;
private int age ;
public Person(String name,int age){
this.name = name ;
this.age = age ; }
public void getInfo(){
System.out.println("姓名:" + name) ;
this.speak();
}
public void speak(){
System.out.println(“年龄:” + this.age);
} }
登录后复制
3.2 调用构造器
代码演示:
class Person{ // 定义Person类
private String name ;
private int age ;
public Person(){ // 无参构造器
System.out.println("新对象实例化") ;
}
public Person(String name){
this(); // 调用本类中的无参构造器
this.name = name ;
}
public Person(String name,int age){
this(name) ; // 调用有一个参数的构造器
this.age = age;
}
public String getInfo(){
return "姓名:" + name + ",年龄:" + age ;
} }
登录后复制
3.3 返回当前对象
代码演示:
public class Leaf {
int i = 0;
Leaf increment(){
i++;
return this;
}
void print(){
System.out.println("i = "+i);
}
public static void main(String args[]){
Leaf x = new Leaf();
x.increment().increment().increment().print();//i = 3
}}
登录后复制
二、“ super ”关键字的使用
1. 概述
2.使用
3.使用
3.1 调用属性和方法
3.2 调用构造器
代码演示:
public class Person {
private String name;
private int age;
private Date birthDate;
public Person(String name, int age, Date d) {
this.name = name;
this.age = age;
this.birthDate = d; }
public Person(String name, int age) {
this(name, age, null);
}
public Person(String name, Date d) {
this(name, 30, d);
}
public Person(String name) {
this(name, 30);
} }public class Student extends Person {
private String school;
public Student(String name, int age, String s) {
super(name, age);
school = s;
}
public Student(String name, String s) {
super(name);
school = s;
}// 编译出错: no super(),系统将调用父类无参数的构造器。
public Student(String s) {
school = s;
} }
登录后复制
三、this和super的区别
No. | 区别点 | this | super |
---|---|---|---|
1 | 访问属性 | 访问本类中的属性,如果本类没有此属性则从父类中继续查找 | 直接访问父类中的属性 |
2 | 调用方法 | 访问本类中的方法,如果本类没有此方法则从父类中继续查找 | 直接访问父类中的方法 |
3 | 调用构造器 | 调用本类构造器,必须放在构造器的首行 | 调用父类构造器,必须放在子类构造器的首行 |
四、子类对象实例化的全过程
推荐学习:《java视频教程》
以上就是详细解析Java的this和super关键字的详细内容,更多请关注靠谱客其它相关文章!
最后
以上就是知性金针菇为你收集整理的详细解析Java的this和super关键字的全部内容,希望文章能够帮你解决详细解析Java的this和super关键字所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复