在现实生活中,很多事物一出现,就天生具有某些属性和行为。比如人一出生,就有年龄、身高、体重、就会哭;汽车一出产,就有颜色、有外观、可以运行等.
java为了实现这些天然的属性和行为,提出了构造方法,让其一出生自动调用这些属性和行为。
Java构造函数也叫构造方法,是Java的一种特殊函数。与函数名相同,无返回值。
作用:一般用来初始化成员属性和成员方法的,即new对象产生后,就调用了对象的属性和方法。
构造函数基本上定义了两个规则。分别如下:
构造函数名必须与其类名称相同
*构造函数必须没有显式返回类型
当main 方法中new对象的时候,Bike1自然形成。
class Bike1{ Bike1()//Bike1就为其无参构造方法 { } //main 方法 public static void main(String args[]) { Bike1 b = new Bike1(); }
class Student4 { int id; String name; Student4(int i, String n)// Student4有参构造方法 { id = i; name = n; } void display() //普通方法 { System.out.println(id + " " + name); } public static void main(String args[]) { Student4 s1 = new Student4(111, "Karan");//new对象时就已经生成了Student4 Student4 s2 = new Student4(222, "Aryan"); s1.display(); s2.display(); } }
1.一个对象建立,构造函数只运行一次。
2.而一般函数可以被该对象调用多次。
class Student{ Student(String name,int id,int grade)@1 { this.name = name; this.id=id; this.grade = grade; } Student(int id,int grade)@2 { this.id =id; this.grade=grade; } main () { Student s1 = new Student4("ZhangSan",111, 01); }//调用@1 Student s2 = new Student4(,112, 100); }//调用@2 }
构造方法重载是Java中的一种技术,一个类可以有任何数量的参数列表不同的构造函数。编译器通过构造函数参数列表中的参数数量及其类型来区分这些构造函数。