详解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的实例应用,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • Java利用MD5加盐实现对密码进行加密处理

    Java利用MD5加盐实现对密码进行加密处理

    在开发的时候,有一些敏感信息是不能直接通过明白直接保存到数据库的。最经典的就是密码了。如果直接把密码以明文的形式入库,不仅会泄露用户的隐私,对系统也是极其的不厉。本文就来和大家介绍一下如何对密码进行加密处理,感兴趣的可以了解一下
    2023-02-02
  • java设计模式-组合模式详解

    java设计模式-组合模式详解

    这篇文章主要介绍了JAVA设计模式之组合模式,简单说明了组合模式的原理,并结合实例分析了java组合模式的具体用法,需要的朋友可以参考下
    2021-07-07
  • SpringBoot框架整合SwaggerUI的示例代码

    SpringBoot框架整合SwaggerUI的示例代码

    项目中使用了很多现成的框架,都是项目经理、架构师带来的,从来没有自己整合过,今天给大家介绍下SpringBoot框架整合SwaggerUI的过程,感兴趣的朋友跟随小编一起看看吧
    2022-02-02
  • SpringBoot快速构建应用程序方法介绍

    SpringBoot快速构建应用程序方法介绍

    这篇文章主要介绍了SpringBoot快速构建应用程序方法介绍,涉及SpringBoot默认的错误页面,嵌入式Web容器层面的约定和定制等相关内容,具有一定借鉴价值,需要的朋友可以参考下。
    2017-11-11
  • java实现学生选课系统

    java实现学生选课系统

    这篇文章主要为大家详细介绍了java实现学生选课系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • Java中的clone方法实例详解

    Java中的clone方法实例详解

    这篇文章主要介绍了Java中的clone方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Java解析方法的调用关系示例详解

    Java解析方法的调用关系示例详解

    这篇文章主要介绍了Java解析方法的调用关系,方法在Java编程中用于封装重复的代码,提高代码复用性,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-10-10
  • SpringBoot集成ECDH密钥交换的方法

    SpringBoot集成ECDH密钥交换的方法

    ECDH密钥交换算法通过椭圆曲线和Diffie-Hellman方法生成共享密钥,用于前端和后端之间的AES加密通信,前端使用elliptic.js生成密钥对,后端使用crypto-js.min.js进行AES加密,本文给大家介绍SpringBoot集成ECDH密钥交换的相关知识,感兴趣的朋友一起看看吧
    2025-01-01
  • 浅谈JAVA8给我带了什么——流的概念和收集器

    浅谈JAVA8给我带了什么——流的概念和收集器

    这篇文章主要介绍了JAVA8流的概念和收集器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • springboot+dubbo实现时间轮算法

    springboot+dubbo实现时间轮算法

    时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-04-04

最新评论