对象的初始化
对象的初始化常用到构造器(construct)来创建对象。
public Person (String name, int age ){ this.name = name; this.age= age; } public static void main(String [] args){ Person p = new Person ("Tom",15) ; }
构造函数的重载:重名但参数不同。
public class Person(){ private String name; private int age; public Person(){ name = ""; age = 0; } public Person (String name, int age ){ this.name = name; this.age= age; } }
一个构造函数调用另一个构造函数。
public Person(){ this(" ",15); //需要用到this关键字且放在第一行 }
若类没有构造器则会默认无参构造器。
初始化块
- 类内段单独用{}括起来的代码段
- 创建对象的时候执行
- 按照先后顺序执行
- 先执行初始化块再构造函数
public class Person { private int age; private String name; { System.out.println("初始化块1"); } public Person() { System.out.println("无参构造函数"); } { System.out.println("初始化块2"); } public static void main(String[] args) { Person p = new Person(); } }
运行结果:
对象的销毁
个人总结与体会:
- 明确对象的创建与初始化:在Java中,对象的创建与初始化是分开的。首先,通过
new
关键字创建一个新的对象实例。然后,通过调用构造函数或初始化方法来初始化对象的状态。 - 构造函数的作用:构造函数是一个特殊的方法,用于在对象创建时初始化对象的状态。它是在创建对象时自动调用的。构造函数与类同名,没有返回类型。
- 初始化的步骤:Java对象的初始化步骤通常包括:分配内存给对象的属性,然后使用构造函数或初始化方法来设置这些属性的初始值。
- 初始化的注意事项:在初始化Java对象时,需要注意以下几点:首先,要确保所有的属性都被正确地初始化;其次,如果对象依赖于其他资源(如文件、网络连接等),需要在初始化时进行资源分配;最后,如果对象在创建时需要接受参数,那么这些参数需要在构造函数中进行验证,以确保对象能够正确地被创建和使用。
- 初始化块:在Java中,可以使用初始化块(instance initializer block)或静态初始化块(static initializer block)来初始化对象或类的状态。这些块会在构造函数或初始化方法之前执行。
- 个人体会:Java对象的初始化是一个关键的编程概念,有助于我们更好地理解如何创建和管理对象。通过掌握对象的初始化过程,我们可以更好地理解Java的内存管理和垃圾回收机制。同时,正确的对象初始化也可以帮助我们避免许多常见的错误,如内存泄漏、空指针异常等。