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);
}
}