初学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
相关问答:
我在jsp页面存上一个session,本页面还可以取出值来.
但是一刷新,或者打开新的页面就取不出值来了.
奇怪的是,我测试另一个程序时候
在jsp页面存上一个session,本页面可以取出值来,刷新或打开新页面值能取出来了.
......
字符流的读和写最终在底层都是通过字节流来完成的吗? 读写文本文件字符流应该就可以了吧。。
各位大哥大姐帮帮忙阿
Java流包括字节流和字符流,字节流通过IO设备以字节数据的方式读入,而字符流则是通过字节流 ......
我的java applet 嵌入html后无法显示,而用appletviewer显示正常为什么,还有就是用html converter转化后可以显示,为什么?请大侠赐教!
HTML code:
<HTML>
<HEAD>
<TITLE>TEST.HTML< ......
我想用Java写一个程序,就是我想在运行代码后,在指定的时间打开某程序,例如我运行代码后,讲在12:00打开"D:\Program Files\Tencent\QQ2009\Bin\QQ.exe"这个程序,求高人指点。还有可能的话在指定的时间 ......
今天按照书上的例子把代码打上去了,就是有错误,请哪位指点下!!!
代码:import java.io.*;
public class Hello {
/**
* @param args
*/
public static void main(String[] args ......