对象及其引用和销毁
对象
使用static注意
- 在静态方法中不可以使用this关键词
- 在静态方法中不可以直接调用非静态方法
- 局部变量不可以使用static关键词声明
- 主方法必须用static声明
- 只有内部类可以使用static声明
对象的创建及访问对象
public class Person {
String name;
int age; //定义属性
String gender;
public Person() { //无参构造
}
public Person(String name, int age, String gender) { //有参构造
this.name = name;
this.age = age;
this.gender = gender;
}
//访问对象 输出
public static void main(String[] args) {
Person person1 = new Person("tom",23,"男");
System.out.println(person1.name+person1.age+person1.gender);
Person person2 = new Person("lily",19,"女");
System.out.println(person2.name+person2.age+person2.gender);
}
}
对象的引用
Person person1 = new Person("tom",23,"男");
//类名 引用 对象实体
//‘new People()’对象能做的事,person1也能做 可以说new People()=person1
//例如
new People().getClass();
//等价于
Person person1 = new Person();
person1.getClass;
对象的销毁
java中有较为完整的垃圾回收机制,但只能回收有new操作符创建的对象
被视为垃圾有两种情况
- 对象引用超过其作用范围,这个对象被视为垃圾
- 当对象被赋值为null,被视为垃圾,将消亡
finalize()方法
是Object类方法,被声明为protected,可以在自己的类中定义这个方法。若定义此方法,在垃圾回收中会首先调用该方法,在下一次垃圾回收动作发生时,才真正回收被对象占用的内存。
注意:垃圾回收或finalize()方法并不保证一定会发生,若Java虚拟机内存损耗殆尽,将不会执行垃圾回收处理
java提供了System.gc()方法来强制启动垃圾回收器

浙公网安备 33010602011771号