目录
一.构造器
1.基本介绍
在创建类的对象时,直接对对象的属性进行初始化,即在创建对象时,系统会自动的调用该类的构造器完成对象的初始化
2.基本语法
[修饰符] 方法名(形参列表){
方法体;
}
老韩说明:
1) 构造器的修饰符可以默认, 也可以是 public protected private
2) 构造器没有返回值
3) 方法名 和类名字必须一样
4) 参数列表 和 成员方法一样的规则
5) 构造器的调用, 由系统完成
3.举例
1)对人类的对象利用构造器进行初始化
//构造器
//当我们 new 一个对象时,直接通过构造器指定名字和年龄
Person p1 = new Person("smith", 80);
System.out.println("p1 的信息如下");
System.out.println("p1 对象 name=" + p1.name);//smith
System.out.println("p1 对象 age="+ p1.age);//80
//创建人类对象时,就直接指定这个对象的年龄和姓名
class Person {
String name ;
int age ;
//构造器
//没有返回值
//构造器的名称和类Person一样
public Person(String pName,int pAge){//完成对象的属性初始化
System.out.println("构造器被调用");
name = pName;
age = pAge;
}
}
4.使用的注意事项
1)一个类可以定义多个不同的构造器,即构造器重载
eg:
class Person {
String name;
int age;//默认 0
//第 1 个构造器韩顺平循序渐进学 Java 零基础
public Person(String pName, int pAge) {
name = pName;
age = pAge;
}
//第 2 个构造器, 只指定人名,不需要指定年龄
public Person(String pName) {
name = pName;
}
}
2)构造器名和类名要相同
3)构造器没有返回值
4)构造器时完成对象初始化,并不是创建对象
5)在创建对象时,相同会自动的调用该类的构造方法
6) 如果没有定义构造器,系统会自动给类生成一个默认的构造器
补充:有参数的构造方法的主要是为类中的属性初始化的
无参构造器:1)可以控制new的对象,比如是public 还是其它的
2)在继承中若父类没有无参构造器,则需要调用super()