一、构造方法

作用:在new的同时对成员变量赋值,给对象的属性初始化赋值
格式:
权限 方法名(参数列表){
}
方法的名字,必须和类的名字完全一致,大小写一致
构造方法不许写返回值类型,如void,int

构造方法在new时自动执行,仅执行一次

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

代码:Person类(内含this用法介绍)

 1 public class Person {  2     private String name;  3     private int age;  4     
 5     /*
 6  * this的用法  7  * 1. this.的方式,区分局部变量和成员变量同名问题;this。后接成员变量  8  * 2. this在构造方法之间,this()  9  * 10      */
11     
12     public Person(String name,int age){ 13         //System.out.println("有参数");
14         this.name = name; 15         this.age = age; 16         
17  } 18     
19     //构造方法的重载,空参数的构造方法
20     public Person(){ 21         //this()的使用,必须放在构造方法第一行,调用的是有参的构造方法
22         /*this("李四",20); 23  System.out.println("空参数的构造方法");*/
24         
25         System.out.println("父类的构造方法"); 26  } 27 
28     public String getName() { 29         return name; 30  } 31     public void setName(String name) { 32         this.name = name; 33  } 34     public int getAge() { 35         return age; 36  } 37     public void setAge(int age) { 38         this.age = age; 39  } 40 }

 

二、super()用法

子类中,super()的方式,调用父类的构造方法
super()调用的是父类的空参数构造方法
super(参数)调用的是父类的有参数构造方法
注意:子类中所有的构造方法,无论重载多少个,第一行必须是super()
构造方法没有重写

this()和super()不能同时存在于一个构造方法
子类的所有构造方法,直接,间接必须调用到父类构造方法
子类的构造方法,什么都不写,默认的构造方法第一行super();

代码:Student类

 1 public class Student extends Person{  2     public Student(){  3         this("222",2);  4          
 5  }  6     
 7     public Student(String s,int a){  8         super("111",1);  9  } 10 }

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄