Java的构造方法(构造器)及构造器重载
构造方法的作用:为对象的属性初始化
public class Book { public Book(String a) { System.out.println("有一个参数的构造方法"); } public Book(String a,String b) { System.out.println("有两个参数的构造方法"); } public Book(String a,String b,int c) { System.out.println("有三个参数的构造方法"); } String name; int page; public void look() { System.out.println("看书"); } } //主类 public class TestBook { public static void main(String[] args) { Book book = new Book("大家好","abc",666); //Book()称为构造方法,如果不显式指定构造方法,会自动生成一个默认的构造方法 book.name = "JAVA讲义"; book.page = 1000; //book.Book(); //错误,不能直接调用构造方法 System.out.println(book.name); System.out.println(book.page); book.look(); } }
使用构造方法的注意事项:
- ”new”后面的,是构造方法,并不是类名。例:Book book = new Book(); 其中Book()是构造方法,并不是Book类
- 构造方法与类名相同,且没有返回值类型,连void也没有
- 只能生成对象的时候才会调用构造方法,不能显式通过对象调用
- 如果自定义了构造方法,将不会自动生成默认的构造方法
- 构造方法也可以接收参数
- 无参的构造方法作用是:创建一个类的对象
- 有参的构造方法作用:不但可以创建一个类的对象,而且还给那个对象的属性(成员变量/实例变量)的赋初值
new关键字
- new关键字在生成对象时完成了三件事情:
- 为对象开辟内存空间。
- 调用类的构造方法。
- 将生成的对象的地址返回。例:Book book = new Book();地址返回给对象的引用 book
- new关键字在生成对象时完成了三件事情: