关于java构造函数的一些知识点
- 构造方法目的是对象的实例化,主要用来在创建对象时的初始化对象
- 在对象成员变量赋初始值时,总是与new运算符一起使用,通过不同的参数来区分不同的构造函数
如:Student stu1=new Student(张三);
Student stu2=new Student("李四",15);
即:一个类可以有多个构造函数,可根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载。
- 构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有
public class Area {
private double r;
public Area(double r) {
this.r = r;
}
public Area() {}
}
- 对于析构方法
析构函数名也应与类名相同,只是在函数名前面加一个位取反符~,但它不能带任何参数,也没有返回值(包括void类型)
析构函数与构造函数相反,当对象结束其生命周期,如对象所在的函数已调用完毕时,系统会自动执行析构函数。所以只能有一个析构函数,不能重载。
但是
java并没有提供析构函数或相似的概念,代之以java的垃圾回收机制,但是垃圾回收并不等同于“析构”,而作为垃圾回收机制的一部分,finalize()方法更不能视为c++中的析构函数。换言之,java里的对象并非一定会被垃圾回收!进而,如果java想要实现类似c++析构函数的清理效果,必须编写恰当的清理方法,并明确调用。
- 对于普通方法,即通过对象调用