day09--super和this关键字的作用

This commit is contained in:
xx
2026-09-23 14:10:37 +08:00
parent f6cdc32d8c
commit 400c469e09
3 changed files with 77 additions and 0 deletions
@@ -0,0 +1,21 @@
package com.inmind.extends_this_super05;
/*
super关键字的作用:
1.super,可以在子类的成员方法中,访问父类的成员变量,格式:super.父类成员变量名
2.super,可以在子类,的成员方法中,访问父类的成员方法,格式:super.父类成员方法名
3.super,可以在子类的构造方法中,访问父类的构造方法,但是只能在第一行,格式:super(参数列表)
super:表示父类的空间
this关键字的作用:
1.this,可以区分当前类中的局部变量和成员变量
2.this,可以在本类中调用其他的成员方法
3.this,可以在本类的构造方法中,调用其他的重载的构造方法
关于第三点的注意事项:
a.this必须在第一行,不能自己调用自己
b.this和super在调用构造方法时,都必须在第一行,所以在同一个构造方法中,不能同时出现的
c.this可以调用其他的重载的构造方法,不能相互调用
*/
public class Demo08 {
}
@@ -0,0 +1,15 @@
package com.inmind.extends_this_super05;
public class Fu {
int numFu = 10;
public Fu(){}
public Fu(int numFu){
this.numFu = numFu;
}
public void methodFu(){
System.out.println("父类的methodFu方法");
}
}
@@ -0,0 +1,41 @@
package com.inmind.extends_this_super05;
public class Zi extends Fu{
int numZi = 20;
String name;
public Zi(){
//调用有参构造即可
this(0);
}
public Zi(int numZi){
this(numZi, null);
}
public Zi(int numZi ,String name){
super();
this.numZi = numZi;
this.name = name;
System.out.println("必须要执行的初始化操作1");
System.out.println("必须要执行的初始化操作2");
System.out.println("必须要执行的初始化操作3");
}
public void method() {
System.out.println(super.numFu);
super.methodFu();
int numZi = 30;
System.out.println(numZi);
System.out.println(this.numZi);
this.method1();//调用自己其他的成员方法
}
public void method1(){
System.out.println("子类的method1方法");
}
}