关于Java类中的构造方法:
1、构造方法有被称为构造函数/构造器/Constructor
2、构造方法语法结构:
[修饰符列表] 构造方法(形式参数){
构造方法体;
}
public class User{
public User(){
Systeam.out,println("构造器")
}
}
3、回顾普通方法的语法结构:
[修饰符列表] 返回值类型 方法名 (形式参数列表){
方法体;
}
4、对于构造方法来说,返回值类型不需要指定,并且也不能写void。
只要写上void,那么这个方法就是普通方法了。
5、对于构造方法来说,构造方法的方法名必须和类名保持一致。
6、构造方法的作用:
构造方法的意义是,通过构造方法的调用,可以创建对象。
7、构造方法的调用:
普通方法是这样调用的:方法修饰符中有static的时候:类名.方法名(实参列表)、方法修饰没有static的时候;引用。方法名(实参列表)
new 构造方法名(实参列表);
new User();//new 后面有一个空格。不要问问什么。加上就行了。
8、构造方法调用之后有返回值吗?
每个构造方法执行结束之后,实际上都有返回值,但是这个"return"值;这样的语句不需要写。
并且返回值类型是构造方法所在类的类型。由于构造方法的返回值类型就是类本身,所以返回值类型不需要编写。
9、当一个类中没有定义构造方法的话,系统会默认给该类提供一个无参数的构造方法,这个构造方法被称为缺省构造器。
10、当一个类显示将构造方法定义出来了,那么系统将不在默认为这个构造方法提供缺省构造器。建议开发中手动的为当前类提供无参数构造方法。因为无参数构造方法太常用了。 11、构造方法支持重载机制。在一个类中编写多个构造方法,这个多个构造方法显然已经构成方法重载机制。
public class User{
public User(){
Systeam.out,println("带有int类型参数的构造器")
}
//有参数构造方法
public User(int i){
Systeam.out,println("带有int类型参数的构造器")
}
public User(String name){
Systeam.out,println("带有String类型参数的构造器")
}
public User(int i,String name){
Systeam.out,println("带有int,String类型参数的构造器")
}
}
12、调用:
public class ContructorTest01{
public static void main (String[] args){
//创建User对象
//调用User类的构造方法来完成对象的创建
//以下程序创建4个对象,只要构造函数调用就会创建对象,并且一定是在"堆内存"中开辟空间。
User u1 = new User();
User u2 = new User(10);
User u3 = new User("zhangsan");
User u4 = new User(10,"zhangsan");
}
}