📄 frog.java
字号:
//:c07:Frog.java
class DoBaseFinalization
{
public static boolean flag=false;
}
class Characteristic
{
String s;
Characteristic(String c)
{
s=c;
System.out.println("Creating Charateristic "+s);
}
protected void finalize()
{
System.out.println("finalizing Charateristic "+s);
}
}
class LivingCreature
{
Characteristic p=new Characteristic("is alive");
LivingCreature()
{
System.out.println("LivingCreature()");
}
protected void finalize() throws Throwable
{
System.out.println("LivingCreature finilize");
if(DoBaseFinalization.flag)
super.finalize();
}
}
class Animal extends LivingCreature
{
Characteristic p=new Characteristic("has heart");
Animal()
{
System.out.println("Animal finalize");
if(DoBaseFinalization.flag)
super.finalize();
}
}
class Amphibian extends Animal
{
Characteristic p=new Characteristic("can live in water");
Amphibian()
{
System.out.println("Amphibian()");
}
protected void finalize() throws Throwable
{
System.out.println("Amphibian finalize");
if(DoBaseFinalization.flag)
super.finalize();
}
}
public class Frog extends Amphibian
{
Frog()
{
System.out.println("Frog()");
}
protected void finalize() throws Throwable
{
System.out.println("Frog finalize");
if(DoBaseFinalization.flag)
super.finalize();
}
public static void main(String[] args)
{
if(args.length!=0&&args[0].equals("finalize"))
DoBaseFinalization.flag=true;
else
System.out.println("Not finalizing bases");
new Frog();
System.out.println("Bye");
System.gc();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -