day09-this关键字

This commit is contained in:
2026-07-25 14:48:40 +08:00
parent 77931020b4
commit 97859a5d20
2 changed files with 32 additions and 1 deletions
@@ -4,6 +4,19 @@ super三个使用操作:
1.super,可以在子类的成员方法中,访问父类的成员变量,格式:super.父类成员变量 1.super,可以在子类的成员方法中,访问父类的成员变量,格式:super.父类成员变量
2.super,可以在子类的成员方法中,访问父类的成员方法,格式:super.父类成员方法名(参数列表) 2.super,可以在子类的成员方法中,访问父类的成员方法,格式:super.父类成员方法名(参数列表)
3.super,可以在子类的构造方法中,访问父类的构造方法,格式:super(参数列表) 3.super,可以在子类的构造方法中,访问父类的构造方法,格式:super(参数列表)
------------------------------------------------------------------------
谁调用方法,方法中的this就是谁(对象)
this表示子类内容,super表示父类内容
this关键字使用方式
1.this,可以区分当前类中局部变量和成员变量
2.this,可以在本类的成员方法中,调用该类的其他的成员方法(其实在一个类中所有的成员变量和成员方法的调用之前都有this.)
3.this,可以在本类的构造方法中,调用其他的重载构造方法
关于第三点的注意事项:
a.this必须在第一行,不能调用自己构造方法(自己不能调用自己)
b.this和super在调用构造方法时,都必须在第一行,所以在一个构造方法中不能同时出现
c.this可以调用其他的重载构造方法,但是不能互相调用(死循环)
*/ */
public class Demo06 { public class Demo06 {
} }
+19 -1
View File
@@ -3,8 +3,21 @@ package com.inmind.this_super06;
public class Zi extends Fu{ public class Zi extends Fu{
int num = 30; int num = 30;
int numZi = 40; int numZi = 40;
public Zi(){ public Zi(){
super(); //调用有参构造
this(10);
}
public Zi(int num){
//调用满参构造
this(num, 20);
//this.num = num; 它在满参构造方法中已经定义了
}
public Zi(int num, int numFu){
super();//当一个类的构造方法采用this调用到满参构造,那么只有此处可以有super(参数列表),可以创建父类内容
this.num = num;
this.numFu = numFu;
//50行的初始化功能
} }
@@ -14,5 +27,10 @@ public class Zi extends Fu{
System.out.println(num); System.out.println(num);
System.out.println(numZi); System.out.println(numZi);
super.method();//调用父类的方法 super.method();//调用父类的方法
this.methodZi();//调用本类的成员方法
}
public void methodZi() {
System.out.println("子类方法");
} }
} }