From 6be48822890b7e51e6ddc6b013200ce2ec01c061 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Thu, 22 Jan 2026 16:12:04 +0800 Subject: [PATCH] =?UTF-8?q?day09-=E7=BB=A7=E6=89=BF=E4=B8=ADsuper=E5=92=8C?= =?UTF-8?q?this=E7=9A=84=E7=BB=BC=E5=90=88=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- day09/src/com/inmind/this_super05/Fu.java | 12 +++++ day09/src/com/inmind/this_super05/Zi.java | 65 +++++++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 day09/src/com/inmind/this_super05/Fu.java create mode 100644 day09/src/com/inmind/this_super05/Zi.java diff --git a/day09/src/com/inmind/this_super05/Fu.java b/day09/src/com/inmind/this_super05/Fu.java new file mode 100644 index 0000000..143b544 --- /dev/null +++ b/day09/src/com/inmind/this_super05/Fu.java @@ -0,0 +1,12 @@ +package com.inmind.this_super05; + +public class Fu { + int num = 100;//父类的成员变量 + + public void methodFu1() { + System.out.println("这是父类的成员方法"); + } + public void methodFu2() { + System.out.println("这是父类的成员方法"); + } +} diff --git a/day09/src/com/inmind/this_super05/Zi.java b/day09/src/com/inmind/this_super05/Zi.java new file mode 100644 index 0000000..27bce67 --- /dev/null +++ b/day09/src/com/inmind/this_super05/Zi.java @@ -0,0 +1,65 @@ +package com.inmind.this_super05; +/* +this表示本类,super表示父类 + +super三个使用操作: +1.super,可以在子类的成员方法中,访问父类的成员变量,格式super.父类成员变量 +2.super,可以在子类的成员方法中,访问父类的成员方法,格式:super.父类成员方法名(参数列表) +3.super,可以在子类的构造方法中,访问父类的构造方法,格式:super(参数列表) + +----------------------------------------------------------- +this关键字使用方式 +1.this,可以区分当前类中局部变量和成员变量 +2.this,可以在本类的成员方法中,调用该类的其他的成员方法(其实在一个类中所有的成员变量和成员方法的调用之前都有this.) +3.this,可以在本类的构造方法中,调用其他的重载构造方法 + + 关于第三点的注意事项: + a.this必须在第一行,不能调用自己构造方法(自己不能调用自己) + b.this和super在调用构造方法时,都必须在第一行,所以在一个构造方法中不能同时出现 + c.this可以调用其他的重载构造方法,但是不能互相调用(死循环) + + */ +public class Zi extends Fu{ + int num = 10; + int num1 ; + + //无参构造 + public Zi(){ + this(10); +// System.out.println("默认的初始化操作,100行代码"); + } + //有参构造 + public Zi(int num){ + /*System.out.println("默认的初始化操作,100行代码"); + this.num = num;*/ + this(num, 0); + } + //满参构造 + public Zi(int num,int num1){ + super(); + System.out.println("默认的初始化操作,100行代码"); + this.num = num; + this.num1 = num1; + } + + //子类的成员方法 + public void method(){ + //this(); + //super();//只有构造方法中,才能通过super访问父类的构造方法 + System.out.println(super.num); + super.methodFu1(); + super.methodFu2(); + int num = 20; + System.out.println(num);//局部变量 20 + System.out.println(this.num);//成员变量10 + method1(); + this.method2();//成员方法 + } + + //子类的成员方法 + public void method1(){ + } + //子类的成员方法 + public void method2(){ + } +}