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

 更新时间:2017年08月21日 11:10:30   投稿:lqh  
这篇文章主要介绍了详解Java使用super和this来重载构造方法的相关资料,这里提供实例来帮助大家理解这部分内容,需要的朋友可以参考下

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

以上就是java this与super的实例应用,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • SpringMVC获取请求参数和域对象共享数据的示例代码

    SpringMVC获取请求参数和域对象共享数据的示例代码

    这篇文章主要给大家介绍了SpringMVC获取请求参数和域对象共享数据的示例代码,文中通过代码示例给大家介绍的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2023-12-12
  • Sax解析xml_动力节点Java学院整理

    Sax解析xml_动力节点Java学院整理

    这篇文章主要介绍了Sax解析xml,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • JAVA实现心跳检测(长连接)

    JAVA实现心跳检测(长连接)

    本文主要介绍了JAVA实现心跳检测(长连接),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Java项目防止SQL注入的几种方式

    Java项目防止SQL注入的几种方式

    SQL注入是一种常见的攻击方式,黑客试图通过操纵应用程序的输入来执行恶意SQL查询,从而绕过认证和授权,窃取、篡改或破坏数据库中的数据,本文主要介绍了Java项目防止SQL注入的几种方式,感兴趣的可以了解一下
    2023-12-12
  • MyBatis-Plus 查询指定字段的实现

    MyBatis-Plus 查询指定字段的实现

    这篇文章主要介绍了MyBatis-Plus 查询指定字段的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 使用Easyexcel实现不同场景的数据导出功能

    使用Easyexcel实现不同场景的数据导出功能

    这篇文章主要为大家详细介绍了如何在不同场景下使用Easyexcel实现数据导出功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-03-03
  • Java中的Excel框架使用详解

    Java中的Excel框架使用详解

    这篇文章主要介绍了Java中的Excel框架使用详解,Java解析、生成Excel比较有名的框架有Apache poi、jxl,但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,需要的朋友可以参考下
    2023-11-11
  • Java多线程阻塞与唤醒代码示例

    Java多线程阻塞与唤醒代码示例

    本文主要向大家分享了Java多线程中的阻塞与唤醒的相关内容,通过这篇文章大家可以大致了解到进入线程阻塞状态和可执行状态的方法,需要的朋友可以了解下。
    2017-09-09
  • Java面向对象程序设计:抽象类,接口用法实例分析

    Java面向对象程序设计:抽象类,接口用法实例分析

    这篇文章主要介绍了Java面向对象程序设计:抽象类,接口用法,结合实例形式分析了java抽象类与接口相关概念、原理、用法与操作注意事项,需要的朋友可以参考下
    2020-04-04
  • springboot接收http请求,解决参数中+号变成空格的问题

    springboot接收http请求,解决参数中+号变成空格的问题

    这篇文章主要介绍了springboot接收http请求,解决参数中+号变成空格的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08

最新评论