构造器
语法:
public 类名 (参数列表,可以没有参数) {
// 不能有return,返回值为空
}
- 特点一:必须和类的名字相同
- 特点二:一定,必须没有返回值,但也不能用void。
例:
- 创建一个空的
Person
类
public class Person { } // 里面什么都不定义
- 发现能实例化出来这个
Person
类
public class Application {
public static void main(String[] args) {
Person person = new Person();
}
}
- 说明
Person
类里存在一个空的构造器(无参构造器)
public class Person {
public Person() {
// 空的构造器
}
}
- 结论:一个类里面即使什么都不写,也会存在一个方法(无参构造器)
显示的定义一个无参构造器
public class Person {
public Person() {
// 无参构造器
}
}
无参构造器能实例化初始值
public class Person { String name; public Person() { // 实例化name的初始值 this.name = "小明"; } }
public class Application { public static void main(String[] args) { // 实例化一个类 Person person = new Person(); // 输出person类的name属性 System.out.printf("name的值为:" + person.name); } }
结果:
name的值为:小明
有参构造器
- 一旦定义有参构造器就一定得显示的定义一个无参构造器
public class Person { String name; // 无参构造 public Person() { } // 有参构造 public Person(String name) { this.name = name; }}
在使用
Person
这个类创建对象时会出现方法重载public class Application { public static void main(String[] args) { // 实例化对象的时候传入值 Person person = new Person("小红"); System.out.printf("值为:" + person.name); }}
结果:
name的值为:小红