一、构造方法
作用:在new的同时对成员变量赋值,给对象的属性初始化赋值
格式:
权限 方法名(参数列表){
}
方法的名字,必须和类的名字完全一致,大小写一致
构造方法不许写返回值类型,如void,int
构造方法在new时自动执行,仅执行一次
代码: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 }