12.1Java-构造方法
一、构造方法
作用:在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 }

更多精彩