package test;
public class data {
String name;
void show(){
System.out.println("my name is "+name);
}
public static void main(String[] args) {
data da=new data();
//此处实例化时创建data的构造器。创建对象时自动调用的方法称为构造器。
da.name="lili";
da.show();
}
}
构造器的作用:
- 创建对象,和new一起使用
- 完成对象初始化
构造器的特点:
- 构造器名称和当前类名保持一致
- 构造器不能写返回值,其实返回的是当前对象的地址(默认的,不需要自己写)
- 不能使用return
默认构造器特点:
- 符合构造器特点
- 没有参数
- 如果类使用了public修饰,它创建的默认构造器也是public
package test;
public class User {
String name=null;
//带参数的自定义构造器(也可以无参)
User(String userName){
System.out.println("自定义构造器");
name=userName;
}
public static void main(String[] args) {
User user=new User("lili");
//调用自定义构造器后,编译器不再生成默认的构造器。
System.out.println(user.name);
}
}
自定义构造器:(自己定义的构造器)
- 若类中有自定义构造器,则编译器不再生成默认构造器
- 一个类中至少存在一个构造器
- 创建对象其实是在调用构造器
构造器的重载:方法名相同,参数不同,与方法重载一样。如下:
package test;
public class User {
String name=null;
int userAge;
User(String userName){
name=userName;
}
User(String userName,int age){
name=userName;
userAge=age;
}
public static void main(String[] args) {
User user=new User("lili");
User user2=new User("yunuu",21);
System.out.println(user2.name);
}
}