Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » Java SE 综合讨论区
» Java与OOP初步
打印话题 寄给朋友 订阅主题 |
作者 | 一个关于finalize的问题 请高手赐教!! |
luxifa0425
发贴: 3 积分: 0 |
于 2007-11-19 17:28
class DoBaseFinalization { public static boolean flag=false; } class Base { Base() { System.out.println("Base()"); } protected void finalize() throws Throwable { System.out.println("Base finalized()!"); if(DoBaseFinalization.flag) super.finalize(); } } class Second extends Base { Second() { System.out.println("Second()"); } protected void finalize() throws Throwable { System.out.println("Second finalized()!"); if(DoBaseFinalization.flag) super.finalize(); } } class Third extends Second { Third() { System.out.println("Third()"); } protected void finalize() throws Throwable { System.out.println("Third finalized()!"); if(DoBaseFinalization.flag) super.finalize(); } } public class C07_11 { public static void main(String[] args) { if((args.length!=0)&&(args[0].equals("finalize"))) DoBaseFinalization.flag=true; else System.out.println("Not Finalized!"); //new Third(); System.out.println("Bye!"); System.gc(); } } 这是一个子类都能正确呼叫base class的finalize的例子,上面这段标记的地方如果用Third td=new Third(),那么就算引数输入finalize,也不能呼叫finalize的方法,一定要使用new Third(),我不知道为什么?请各位高手赐教阿!!! 为什么这个Applet不能在浏览器显示啊? |
话题树型展开 |
人气 | 标题 | 作者 | 字数 | 发贴时间 |
9831 | 一个关于finalize的问题 请高手赐教!! | luxifa0425 | 1156 | 2007-11-19 17:28 |
8092 | Re:一个关于finalize的问题 请高手赐教!! | weiyidexuan | 86 | 2007-11-20 01:59 |
7746 | Re:一个关于finalize的问题 请高手赐教!! | tianqinhot | 177 | 2007-11-20 17:22 |
8381 | Re:一个关于finalize的问题 请高手赐教!! | luxifa0425 | 11 | 2007-11-20 18:24 |
已读帖子 新的帖子 被删除的帖子 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |