`
BabyDuncan
  • 浏览: 584248 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java使用super和this来重载构造方法

    博客分类:
  • J2SE
阅读更多
//父类
class anotherPerson{
	String name = "";
	String age = "";
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
	public void setName(String name){
		this.name = name;
	}
	public String getName(){
		return name;
	}
	//第一个构造方法
	public anotherPerson (String name){
		this.name = name;
	}
	//第二个构造方法
	public anotherPerson(String name, String age){
		this(name);//是用同一类中的其他构造方法
		this.age = age;
	}
	
	public void ShowInfomation(){
		System.out.println("name is "+ name +"and age is "+age);
	}
}
//子类
class Teacher extends anotherPerson{
	String school = "";
	public void setSchool(String school){
		this.school = school;
	}
	public String getSchool(){
		return school;
	}
	public Teacher(String name){
		super(name);
	}
	//第一个构造方法
	public Teacher(String age,String school){
		super("babyDuncan",age);//使用父类的构造方法
		this.school = school;
	}
	public Teacher(String name,String age,String school){
		this(age,school);//使用同一类的构造方法,而这一构造方法使用父类的构造方法
		this.name = name;
	}
	//重写了父类的函数
	public void ShowInfomation(){
		System.out.println("name is "+ name +" and age is "+age+" and school is "+school);
	}
}
public class testTeacher {

	/**
	 * 测试一下super和this
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		anotherPerson person1 = new anotherPerson("babyDuncan");
		anotherPerson person2 = new anotherPerson("babyDuncan","20");
		Teacher teacher1 = new Teacher("babyDuncan");
		Teacher teacher2 = new Teacher("20","JLU");
		Teacher teacher3 = new Teacher("babyDuncan","20","JLU");
		person1.ShowInfomation();
		person2.ShowInfomation();
		teacher1.ShowInfomation();
		teacher2.ShowInfomation();
		teacher3.ShowInfomation();
	}

}


输出结果:
name is babyDuncanand age is
name is babyDuncanand age is 20
name is babyDuncan and age is  and school is
name is babyDuncan and age is 20 and school is JLU
name is babyDuncan and age is 20 and school is JLU
分享到:
评论

相关推荐

    详解Java使用super和this来重载构造方法

    下面我们将深入探讨 `super` 和 `this` 的概念,并通过给定的实例代码来解释它们在重载构造方法中的应用。 首先,`this` 关键字在当前类的范围内引用当前对象。它可以用来访问当前类的成员变量或方法,避免了与局部...

    java 构造方法的资源

    总结,Java中的构造方法是创建和初始化对象的关键组成部分,它们使得我们可以根据不同的场景灵活地初始化对象,并通过构造方法重载来提供多种初始化方式。理解和掌握构造方法的使用对于编写高质量的Java代码至关重要...

    AbstractTest.java帮助理解多重继承、抽象方法重写调用、super、this关键字、构造方法、重载知识点

    定义抽象类以及抽象方法,构造方法,将子类1定义为抽象类,子类2继承子类1,子类2重写抽象方法。用以帮助理解多重继承、抽象方法重写调用、super、this关键字使用、构造方法、重载这几个的知识点

    构造方法JAVA构造方法

    当我们创建一个类的新实例时,Java会自动调用对应的构造方法来设置对象的初始状态。 ### 1. 构造方法的作用 - **初始化对象**:构造方法的主要目的是为新创建的对象设置初始值,确保对象处于可使用的状态。 - **...

    java中this\super详解

    在Java编程语言中,`this`和`super`是两个非常重要的关键字,它们在面向对象编程中扮演着至关重要的角色。`this`关键字用于引用当前对象,而`super`则用于访问父类中的成员。本文将详细介绍这两个关键字的概念、用法...

    12_Java面向对象_第4天(构造方法、this、super)_讲义

    本讲义主要探讨了Java中的三个关键概念:构造方法、`this`关键字和`super`关键字,这些都是理解Java类和对象核心概念的重要部分。 **1. 构造方法** 在Java中,构造方法是一个特殊的方法,它与类同名,没有返回类型...

    Java 构造方法

    这称为重载构造方法,即在同一个类中定义多个构造方法,它们的方法名相同,但参数列表不同。 在实际编程中,我们通常会看到以下几种情况: - **默认构造器**:如果程序员没有定义任何构造方法,Java编译器会自动...

    java 子类构造方法

    和普通方法一样,Java中的构造方法也可以重载,即在同一个类中定义多个具有不同参数列表的构造方法。这样可以为创建对象提供多种初始化方式。例如: ```java class Student { String name; int age; Student() ...

    Java语言程序设计教学中构造方法的研究.pdf

    以上知识点详细解释了在Java程序设计中构造方法的设计与使用,以及在子类和父类继承关系中构造方法的特征和注意事项。通过这些知识的掌握,可以有效提高Java编程的效率和程序的可读性。在教学中,构造方法的研究有助...

    Java构造方法解析.zip

    在同一个类的构造方法之间,可以使用`this`关键字来调用其他构造方法。这有助于代码复用和减少重复。例如: ```java public Person(String name, int age) { this.name = name; this.age = age; } public ...

    Java中的构造方法分析.pdf

    除了默认构造器和参数化构造器,Java还支持构造方法的重载,即在同一个类中定义多个构造方法,它们具有不同的参数列表。这样可以根据需要提供多种创建对象的方式。 关于构造方法的继承,Java中类的继承并不包括构造...

    深入理解java构造器机理

    构造器和方法使用关键字 this 有很大的区别。方法引用 this 指向正在执行方法的类的实例。静态方法不能使用 this 关键字,因为静态方法不属于类的实例,所以 this 也就没有什么东西去指向。构造器的 this 指向同一个...

    类和对象、构造方法总结

    它可能详细介绍了如何设计和使用构造方法,包括参数化的构造方法、重载构造方法、以及构造方法与this关键字和super关键字的配合使用。 总之,类和对象是面向对象编程的基础,它们帮助我们将复杂的问题抽象为独立的...

    Java_this_super.zip_super

    在Java编程语言中,`this`和`super`是两个非常关键的关键词,它们在类的继承机制中扮演着至关重要的角色。`this`关键字主要用于当前对象的引用,而`super`关键字则用于访问父类的成员。让我们深入探讨这两个概念以及...

    构造方法11_2.zip

    只要它们的参数列表不同(数量、类型或顺序不同),就可以重载构造方法。 - 这允许我们根据需要以不同的方式创建和初始化对象。 5. **构造方法的调用**: - 构造方法的调用通常发生在`new`关键字后面,通过类名和...

    java 构造器的调用

    - 重载构造器使得创建对象时可以根据需要提供不同的初始化数据。 6. **构造器链**: - 在复杂的继承体系中,构造器调用会形成一个链。每个子类构造器首先调用其父类的构造器,然后进行自身的初始化。 7. **构造...

    JAVA进阶-Java继承,多态,重写,修饰符以及super与this使用,Oject对象

    在Java编程语言中,继承、多态、重写、修饰符以及`super`和`this`的使用是面向对象编程的核心概念。这些知识点对于理解和编写高效、可维护的代码至关重要。 1. **Java继承**: Java继承允许一个类(子类)继承另一...

    java代码-构造方法重载

    在`main.java`文件中,我们可以预期看到实际的Java代码示例,展示了如何重载构造方法。`README.txt`文件可能包含了关于代码的解释或使用说明。通过阅读这些文件,我们可以更深入地理解构造方法重载在具体应用中的...

    第04章 面向对象(上) 06 构造方法

    面向对象编程是Java的核心特性之一,它通过模拟现实世界中...理解和熟练使用构造方法对于编写高质量的Java代码至关重要。通过学习和实践,我们可以更好地掌握面向对象的设计原则,提高程序的可读性、可维护性和扩展性。

    Java4Android 16_this的使用方法

    总之,`this`是Java编程中一个非常关键的组成部分,它在表示当前对象引用、调用构造器、解决重载方法的歧义以及在Android开发中的上下文引用等方面都有着广泛的应用。熟练掌握`this`的使用,能够帮助开发者写出更加...

Global site tag (gtag.js) - Google Analytics