1、利用构造方法初始化构造方法(也称为构造器)是一个特殊的成员方法,名字必须与类名相同,在创建对象时,由编译器自动调用,并且在整个对象的生命周期内只调用一次。 public class Student { String name; // 无参构造方法(没有参数的构造方法) public Student() { this('张三'); } // 有参构造方法 public Student(String name) { this.name = name; } // 输出name和age public void print() { System.out.println('姓名:' + name); } public static void main(String[] args) { Student stu = new Student(); stu.print(); }} 注意: 构造方法:名字与类名相同,没有返回值类型,设置为void也不行 构造方法的作用就是对对象中的成员进行初始化,并不负责给对象开辟空间。 构造方法的特性:1. 名字必须与类名相同 如果在类中自己没有定义任何构造方法,编译器会默认生成一个不带参数的构造方法。 但是如果自己定义了构造方法,则系统不会再生成,需要自己构造完善。 (当我们构造了带参数的构造方法的时候一定要去构造一个不带参数的构造方法,否则会出错) 另外在构造方法中,可以通过this调用其他构造方法来简化代码 也就是在博主的这篇文章中说的this()访问构造方法: 【Java SE】this引用注意事项
这里注意: 绝大多数情况下使用public来修饰,特殊场景下会被private修饰 2、利用默认初始化我们知道局部变量在使用时必须要初始化,不进行初始化就会报错,而成员变量可以不用呢? 原因在于对象空间被申请好之后,对象中包含的成员已经设置好了初始值,比如: 3、就地初始化就地初始化就是在定义成员变量的时候直接进行初始化操作: public class Student { String name='张三'; // 输出name和age public void print() { System.out.println('姓名:' + name); } public static void main(String[] args) { Student stu = new Student(); stu.print(); }} 注意:代码编译完成后,编译器会将所有给成员初始化的这些语句添加到各个构造方法中(这里这个程序是系统默认的构造方法) |
|