详解Java使用super和this来重载构造方法
作者:lqh 发布时间:2023-04-20 08:34:47
标签:java,this,super
详解Java使用super和this来重载构造方法
实例代码:
//父类
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
来源:http://babyduncan.iteye.com/blog/776559


猜你喜欢
- 学习C#编程最常见的示例程序是在控制台应用程序中输出Hello World!using System;namespace DemoMainA
- spring和mybatis整合整合思路需要spring通过单例方式管理SqlSessionFactory。spring和mybatis整合
- Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户
- 封装类用于阻止系统休眠的C#类。以下是代码注释的解释:DllImport("kernel32.dll"):定义了一个AP
- 快速排序类using System;using System.Data;using System.Config
- 手机二维码扫码登录已经成为了现代互联网时代的一种普遍的登录方式。它的出现,极大地方便了用户登录的流程,减少了用户输入用户名和密码的麻烦。在二
- 下面Demo中我使用了2种排序方式1.让Employee继承IComparable 接口,实现CompareTo方法排序2.定义一个方法使用
- 本文实例为大家分享了java实现订餐系统的具体代码,供大家参考,具体内容如下import java.util.Scanner;public
- 引言最近一个朋友正在找工作,他说在笔试题中遇到Equals和==有什么区别的题,当时跟他说如果是值类型的,它们没有区别,如果是引用类型的有区
- 目录引言什么是Span关于String的一段性能提升测试代码最终性能对比写在最后引言C# 是一门现代化的编程语言,与Java十分的相似。熟练
- Android动画之小球拟合动画实例实现效果:动画组成:1.通过三阶贝塞尔曲线来拟合圆,拟合系数的由来,以及怎么选控制点.2.利用画布can
- 因为项目需要,需要在一个之前没做过springBoot项目的eclipse上跑一个springBoot项目并完成打包,所以就在网上查完资料以
- 本文实例为大家分享了Unity实现攻击范围检测并绘制检测区域的具体代码,供大家参考,具体内容如下一、圆形检测using System.Col
- 一.使用场景一次请求需要往数据库插入多条数据时,可以节省大量时间,mysql操作在连接和断开时的开销超过本次操作总开销的40%。二.实现方法
- 多线程安全嘛在 Spring 框架中,Bean 是应用程序的核心构建块,代表了在 Spring 容器中管理的对象或组件。Spring 容器负
- Android如何自定义一个view ViewRootImpl绘制流程1、自定义属性在res/values/attrs.xml文件里定义一个
- 本文实例为大家分享了java读取cvs文件并导入数据库的具体代码,供大家参考,具体内容如下首先获取文件夹下面的所有类型相同的excel,可以
- springmvc dao层和service层的区别首先解释面上意思,service是业务层,dao是数据访问层这个问题我曾经也有过,记得以
- 前言作为一个后端程序员,网络连接这块是一个绕不过的砍,当你在做服务器优化的时候,网络优化也是其中一环,那么作为网络连接中最基础的部分-TCP
- 1,首先要安装OpenCvSharp,使用cv2的函数获取设备,并将图像转换到Bitmapusing OpenCvSharp;