1 构造方法
初始化阶段 给对象的属性进行赋值 构造方法
什么是构造方法 : 字面 方法构建时 就使用的方法 对象创建的时候就使用的方法
作用:对象的属性值初始化
2 如何用构造方法
修饰符 构造方法名(参数列表){
}
2.1 一般情况下没有返回值
2.2 构造方法名必须和类名一致
2.3 构造方法体:
this 可以在构造方法之间进行调用 this在构造方法之间调用的格式 this(变量值)//this(name);
this.名 区分成员变量和局部变量
如:public Person(String name){
this.name=name;
}
public class TestPerson { public static void main(String[] args) { Person p = new Person(); System.out.println(p.getName()); } }
3 super() 的使用方式
子类 super() 调用父类的空参构造方法
super(参数)调用父类的有参构造方法
子类的构造方法 有一个默认添加的构造方法
子类构造方法第一行 有一个隐式代码调用父类的构造方法
4 构造方法VS普通方法
4.1 创建的方式不一样
普通 :
修饰符 类名(){} 一般有返回值
构造:
修饰符 构造方法名(参数列表){}
4.2 作用不一样
构造方法----》用来给成员变量赋值
4.3 调用方式不一样
this();
super();
super.value();//调用父类的方法
4.4 执行方式不一样
构造方法在对象创建的时候就执行了
普通方法需要使用的时候 调用才执行
例子:
Person: public class Person { /* * 描述学生和工人两个类 name age---》抽取 父类 Person 提供set get * 同时创建学生和工人对象 必须明确年龄和姓名 并且控制台输出 * */ private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
Student: public class Student extends Person{ public Student(String name,int age){ super(name,age); } }
Woker: public class Woker extends Person { public Woker(String name,int age){ super(name,age); } }
TestDemo: public class Woker extends Person { public Woker(String name,int age){ super(name,age); } }