From 5fe81961eb568fcdd0d56f7a5d6c9f143fa3c62e Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Mon, 5 Jan 2026 15:39:51 +0800 Subject: [PATCH] =?UTF-8?q?day09--=E7=BB=A7=E6=89=BF=E4=B8=ADsuper?= =?UTF-8?q?=E5=92=8Cthis=E7=9A=84=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inmind/extends_contructor04/Demo06.java | 20 +++++++++++++++++++ .../com/inmind/extends_contructor04/Zi.java | 18 ++++++++++++++++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/day09/src/com/inmind/extends_contructor04/Demo06.java b/day09/src/com/inmind/extends_contructor04/Demo06.java index 86304c3..7806eef 100644 --- a/day09/src/com/inmind/extends_contructor04/Demo06.java +++ b/day09/src/com/inmind/extends_contructor04/Demo06.java @@ -4,6 +4,26 @@ package com.inmind.extends_contructor04; 1.创建子类对象时,一定会调用父类的构造方法 2.super调用父类的构造方法时,必须在子类的构造方法的第一行 3.super可以调用父类的有参构造方法。 + +---------------------------------------------------- +super三个使用操作: +1.super,可以在子类的成员方法中,访问父类的成员变量,格式super.父类成员变量 +2.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 static void main(String[] args) { diff --git a/day09/src/com/inmind/extends_contructor04/Zi.java b/day09/src/com/inmind/extends_contructor04/Zi.java index a1a3463..b34a9c7 100644 --- a/day09/src/com/inmind/extends_contructor04/Zi.java +++ b/day09/src/com/inmind/extends_contructor04/Zi.java @@ -3,7 +3,23 @@ package com.inmind.extends_contructor04; public class Zi extends Fu{ //默认无参构造 public Zi(){ - super("张飞",20); + this("张三"); +// super("张飞",20); System.out.println("子类无参构造方法被调用了"); } + + public Zi(String name){ +// super("张飞",20); + System.out.println("子类无参构造方法被调用了"); + } + + public void test(){ + this.test2(); + } + + public void test1(){ + } + + public void test2(){ + } }