类的构造之三:构造器(或构造方法、constructor)的使用
作用:
1.创建对象
2.初始化对象信息
public class PersonTest {
public static void main(String[] args) {
//创建类的对象:new + 构造器
Person p = new Person();//创建对象,会直接输出Person().......
}
}
class Person{
//属性
String name;
int age;
//构造器
public Person() {//无参构造器
System.out.println("Person().......");
}
}
说明:
- 1.如果没有显示的定义类的构造器,系统默认提供一个空参构造器
public class PersonTest {
public static void main(String[] args) {
//创建类的对象:new + 构造器
Person p = new Person();//默认无参构造器Person()
}
}
class Person{
//属性
String name;
int age;
}
- 2.定义构造器的格式:权限修饰符 类名(形参列表){}
//举例:
public Person() {}
public Person(String n) {
name = n;
}
- 3.一个类中多个构造器,彼此构成重载
class Person{
//属性
String name;
int age;
//构造器
public Person() {//与下面两个构造器重载
System.out.println("Person().......");
}
public Person(String n) {//与上下两个构造器重载
name = n;
}
public Person(String n,int a) {//与上面两个构造器重载
name = n;
age = a;
}
}
- 4.一旦我们显示的定义构造器之后,系统就不在提供空参构造器
public class PersonTest {
public static void main(String[] args) {
//创建类的对象:new + 构造器
Person p = new Person();//注释掉无参构造器,报错 The constructor Person() is undefined
Person p1 = new Person("Tom");
}
}
class Person{
//属性
String name;
int age;
//构造器
// public Person() {
// System.out.println("Person().......");
// }
public Person(String n) {
name = n;
}
public Person(String n,int a) {
name = n;
age = a;
}
}