构造方法本身是一个特殊的方法,它在新对象实例化的时候被调用
其定义原则是:方法名称与类名相同,没有返回值类型声明,同时构造方法也可以进行重载
Test t = new Test(); 类名称 对象名称 = new 类名称();
new关键字后面Test()其实就是在调用构造方法
作用:用于对象初始化
构造方法和普通方法的区别:
-
构造方法是在实例化对象的时候只调用一次
-
普通方法实在实例化对象产生之后,通过"对象.方法"调用多次
构造方法和普通方法最大的区别在于:构造方法是在使用new关键字的时候直接调用的,是与对象创建一起执行的操作;要通过普通方法进行初始化,就表示要先调用无参构造方法进行实例化对象,在利用对象调用初始化方法就比较啰嗦了
构造方法的核心作用:在类对象实例化时设置属性的初始化内容。
构造方法的重载:
-
一个类可以存在多个构造方法
-
重载要求参数列表的长度或类型不同
-
可以在不同的创建对象的需求下,调用不同的方法来完成对象的初始化
package oop; /** * 构造方法 */ public class OopDemo03 { public static void main(String[] args) { Test t=new Test("java",20); t.geInfo(); } } class Test{ private String title; private double price; //定义无参构造 public Test() { } //定义有参构造 public Test(String title) { this.title = title; } //方法重载 public Test(String title, double price) { this.title = title; this.price = price; } //定义成员变量的get和set方法 public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } //定义方法输出 public void geInfo(){ System.out.println("图书名称:"+title+",价格:"+price); } }
-
注意构造方法的编写顺序:所有重载的方法按照参数的个数由多到少,或者由少到多排列