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

作者:lqh 时间:2023-04-20 08:34:47 

详解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

标签:java,this,super
0
投稿

猜你喜欢

  • Android实现本地上传图片并设置为圆形头像

    2022-05-17 03:50:28
  • 示例解析java面向对象编程封装与访问控制

    2021-10-18 19:55:19
  • spring中使用@Autowired注解无法注入的情况及解决

    2023-06-10 21:48:24
  • 详解Java的TCP/IP编程学习--基于定界符的成帧

    2023-11-23 03:02:32
  • c#的sortedlist使用方法

    2023-09-22 04:58:13
  • C#中数组Array,ArrayList,泛型List详细对比

    2023-02-22 05:44:33
  • java多线程累加计数的实现方法

    2021-07-19 12:10:36
  • Android之Viewpager+Fragment实现懒加载示例

    2021-06-30 04:36:20
  • java为什么会出现精度丢失这种现象你知道吗

    2023-07-04 05:24:38
  • MyBatis-Plus 自定义sql语句的实现

    2022-12-24 23:16:16
  • Android编程实现图片放大缩小功能ZoomControls控件用法实例

    2022-07-16 22:01:11
  • java使用链表实现约瑟夫环

    2022-03-21 18:59:35
  • Spring AOP中的JDK和CGLib动态代理哪个效率更高?

    2023-07-02 18:42:50
  • Android自定义View实现分段选择按钮的实现代码

    2022-09-06 07:46:21
  • Android使用MediaRecorder实现录音及播放

    2021-09-10 00:46:41
  • Android studio实现简易计算器App功能

    2023-03-07 07:57:57
  • springboot中项目启动时实现初始化方法加载参数

    2023-08-31 06:00:40
  • 详解JAVA高质量代码之数组与集合

    2022-03-31 16:42:07
  • C#实现自定义windows系统日志的方法

    2021-12-17 13:02:31
  • 比较2个datatable内容是否相同的方法

    2022-11-25 08:27:04
  • asp之家 软件编程 m.aspxhome.com