`
BabyDuncan
  • 浏览: 573156 次
  • 性别: 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来重载构造方法

    主要介绍了详解Java使用super和this来重载构造方法的相关资料,这里提供实例来帮助大家理解这部分内容,需要的朋友可以参考下

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

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

    Java开发技术大全(500个源代码).

    constructWithPara.java 带参数的构造方法 declareDefault.java 缺省访问权限的使用 declarePrivate.java 私有访问权限的使用 declareProtected.java 保护访问权限的使用 deriveClass.java 子类访问父类变量...

    java基础.txt

    而且this()必须放在构造方法中的第一行 封装 :隐藏内部的实现细节,对外提供公共的接口 123456789101112131415161718192021222324252627282930313233343536373839 继承 继承:extends 拓展和延伸 子类对...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    p1 调用缺省的构造方法(即没有参数),p2 则调用带参数的构造方法。p1、p2 分别对 应于不同的内存空间,它们的值是不同的,可以完全独立地分别对它们进行操作。虽 然 new 运算符返回对一个对象的引用,但与 C、C++中的...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    10.3.7 使用super调用父类中的方法和属性 278 10.4 多态(Polymorphism)以及其他 279 10.4.1 多态——运行方知结果 280 10.4.2 重载也不简单 280 10.4.3 使用多态构建车队 283 10.5 在多态的环境中拨开迷雾 ...

    java技术-让学员少走弯路

    全面解析java技术,让...讲解了Java中的构造、重载、this和super变量、静态变量、Java中的常量、继承、多态。 Java中包的概念,类的说明符、方法的说明符、对象的销毁(JVM垃圾回收器的演示),Java中接口理解与掌握。

    JAVA语言程序设计【高清版】.pdf

    77 5.5.1 static 77 5.5.2 final和abstract 79 5.5.3 this和super 84 5.6 方法重写 86 5.6.1 方法重写概述 86 5.6.2 应用重写的规则 89 5.6.3 调用父类构造方法 89 5.7 接口 90 5.7.1 多重继承中的...

    java初学者必看

    7.4.4 重载构造方法 7.4.5 调用构造方法 7.4.6 初始化块 7.5 包 7.5.1 包的概念 7.5.2 类的导入 7.5.3 包名与目录 7.5.4 静态导入 7.5.5 Java包介绍 7.6 类设计技巧 7.7 实例:完善MasterCard类 7.7.1 ...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    10.3.7 使用super调用父类中的方法和属性 278 10.4 多态(Polymorphism)以及其他 279 10.4.1 多态——运行方知结果 280 10.4.2 重载也不简单 280 10.4.3 使用多态构建车队 283 10.5 在多态的环境中拨开迷雾 ...

    疯狂JAVA讲义

    学生提问:为什么要用this来调用另一个重载的构造器?我把另一个构造器里的代码复制、粘贴到这个构造器里不就可以了吗? 143 5.6 类的继承 144 5.6.1 继承的特点 144 5.6.2 重写父类的方法 145 5.6.3 父类实例的...

    Java 基础核心总结 +经典算法大全.rar

    构造方法 方法重载 方法的重写 初始化 类的初始化 成员初始化 构造器初始化初始化顺序 数组初始化 对象的销毁 对象作用域 this 和 super 访问控制权限继承 多态组合代理 向上转型static final 接口和抽象类接口 ...

    Java2实用教程.rar

    4 2 6构造方法 4 2 7类方法和实例方法 4 2 8值得注意的问题 4 3对象 4 3 1创建对象 4 3 2使用对象 4 3 3于象的引用和实体 4 3 4参数传值 4 4static关键字 4 4 1实例变量和类变量的区别 4 4 2实例方法和类方法的区别 ...

    Java复习题

    B) super()和this()不一定要放在构造方法内第一行 C) this()和super()可以同时出现在一个构造函数中 D) this()和super()可以在static环境中使用,包括static方法和static语句块 ...... 一、 编写程序...

    JAVA理论知识基础复习

    JAVA理论知识基础复习 构造方法 new关键字 方法的重载 特殊变量this 关键字static 定义常量 继承 方法的重写 特殊变量super 多态性 等相关知识点总结

    Java入门教程(微学苑)-part1

    2.8 Java数组的定义和使用 31 2.9 数组的定义和内存分配 31 2.10 数组的初始化 31 2.11 数组引用 32 2.12 数组的遍历 32 2.13 二维数组 33 2.14 Java字符串(String) 35 2.15 字符串操作 35 2.15.1.1 1) length() ...

    JAVA基础课程讲义

    方法的重载(overload),构造方法的重载 63 this关键字 65 static 关键字 66 静态初始化块(经常用来初始化类,加载类信息时执行!) 67 package 68 JDK中的主要包 68 import 68 eclipse的使用 69 继承(extend, ...

    AIC的Java课程1-6章

    第3版 机械工业出版社  教学内容和要求 知识点 重要程度 使用频度 难度 Java 入门 高 中 易 变量和运算符 高 高 中 控制结构 高 高 易 数组 高 高 中 方法 很高 高 中 封装 很高 很高 难...

    《Java程序设计案例教程》教学课件05深入Java面向对象.pptx

    06 掌握构造方法(隐式、显式)的定义和使用,以及构造方法重载的概念。 07 掌握this关键字的使用。 08 了解基本数据类型变量和引用数据类型变量在数值传递上的区别。 《Java程序设计案例教程》教学课件05深入Java...

Global site tag (gtag.js) - Google Analytics