初学JAVA 问几个弱智问题
1.听说final定义的局部变量他的生命期可以超出方法的生命期,不知是否能举一个例子?
2.抽象类有什么好处?
3.finalize调用问题:
class Person{
public int age;
Person(){ }
}
class TestFinalize{
public void finalize(){
System.out.println("The Objects are OUT!");
}
public static void main(String[] args){
Person person=new Person();
new Person();
System.gc();
}
}
为何程序执行The Objects are OUT!没能输出?
1.在{}内定义的final变量,会在}后面继续存在,也就是你所说的生命周期超出方法的
2.抽象类本身只提供方法的声明,而本身没有实现,实现留给继承它的子类来实现,而子类就可以根据自己的情况而有不同的实现
3.finalize方法我也不是很明白,不回答了
你显示地调用System.gc(),以执行垃圾回收,但实际情况是,gc并没有实际的运行,它只会在适当地时候运行。当然了,如果gc方法执行了,那你定义的这个finalize方法也会执行的。
接楼上的:
以下情况是完全可能的:一个程序只占用了少量内存,没有造成严重的内存需求,于是垃圾回收器没有释放那些无用对象占用的内存,因此这些对象的finalize()方法还没有被调用,程序就终止了。
程序即使显式调用System.gc()或Runtime.gc()方法,也不能保证垃圾回收操作一定执行,因此不能保证无用对象的finalize()方法一定被调用。
还有一个问题,楼主你怎么把public void finalize(){
System.out.println("The Objects are OUT!");
}
写在了TestFinalize类中?你应该写在Per
相关问答:
我现在想用ssh整合来做一个论坛,但数据库方面不行,我主要不会涉及数据库,不知道发帖表,和回帖表要如何设计和区分。不知道谁有一个简单的思路,来设计这些表。谢谢了。
发帖和回帖用同一张表 。发帖 id user ......
用RandomAccessFile写入TXT文件查看时是乱码,请问有什么方法可以写成可读的文件,不是用其他的文件操作,就是只用RandomAccessFile的方法是否可以实现?
Java code:
import java.io.*;
public class RandomAcce ......
我想用Java写一个程序,就是我想在运行代码后,在指定的时间打开某程序,例如我运行代码后,讲在12:00打开"D:\Program Files\Tencent\QQ2009\Bin\QQ.exe"这个程序,求高人指点。还有可能的话在指定的时间 ......
Java code:
public static void main(String[] args)throws Exception {
String json="{\"installer_id\":\"00000003\",\"installer_name\":\"王五\& ......