学习笔记8(有些疑惑)
来源:互联网 发布:变年轻的软件 编辑:程序博客网 时间:2024/06/05 01:59
class Tiger{
Animal_Feeder f;
Tiger(){
System.out.println("养老虎");
}
Tiger(Animal_Feeder f){
this(); //this的用法一,作为已有构造函数的调用
this.f=f; //this的用法二,作为避免参数名相同而造成的冲突
}
void callForFood(){
System.out.println("老虎说:要吃肉");
f.feed(this); //this的用法三,作为参数来传递
}
}
class Rabbit{
Animal_Feeder f;
Rabbit(){
System.out.println("养兔子");
}
Rabbit(Animal_Feeder f){
this(); //用法一
this.f=f; //用法二
}
void callForFood(){
System.out.println("兔子说:要吃草");
f.feed(this); //用法三
}
}
public class Animal_Feeder {
public static void feed(Tiger f){
System.out.println("饲养员喂老虎吃肉");
}
public static void feed(Rabbit f){
System.out.println("饲养员喂兔子吃草");
}
public static void main(String[] args){
Animal_Feeder feeder=new Animal_Feeder();
new Tiger(feeder).callForFood();
new Rabbit(feeder).callForFood();
}
}
饲养员喂老虎吃肉
养兔子
兔子说:要吃草
饲养员喂兔子吃草
boolean full=true;
public Tank(boolean whether_is_full){
full=whether_is_full;
}
void toEmpty(){
full=false;
}
protected void finalize(){
if(full)
System.out.println("ERROR:It's full!");
else
System.out.println("Proper clean up!");
}
}
public static void main(String[] args){
//Tank tank=new Tank(true);
//tank.toEmpty();
//System.gc(); 这几句没有结果出来,因为tank未被定为未用对象
System.gc(); //运行垃圾回收器,来回收未用对象
new Tank(true).toEmpty();
System.gc();
}
}
Proper clean up! 奇怪的是,在多次运行后,总会出现那么一次答案变为ERROR:It's full! 没想明白这是为什么?
哪位牛人帮我解答下。。。(cmd里面不会出现这个问题,eclipse会出现这个问题!)
- 学习笔记8(有些疑惑)
- C++学习疑惑解答笔记
- 【学习笔记】【python+opencv】疑惑记录
- 学习easyui疑惑(四)
- 重读《设计模式》之学习笔记(三)--SINGLETON模式的疑惑
- 学习中的疑惑解决
- 学习的疑惑
- EJB学习的疑惑
- python学习疑惑
- HTML/CSS学习疑惑
- 学习js疑惑
- python 学习 疑惑
- CNN神经网络学习疑惑
- java有些开发学习
- C++笔记——继承(代码还有些问题)
- wxWidgets学习笔记五(+_+都是从笔记上复制下来的,图片都没贴上来,排版也有些乱,见谅,见谅)
- 大雄的疑惑(学习与考试的关系)
- linux学习笔记:关于多级fork后的scanf输入的疑惑
- 我看肖老师的《明日世界-云端计算下的程序设计需求》视频时,做的简单笔记
- 回忆CSDN蒋总来D9区西安站的活动
- AJAX - 浏览器支持
- 八个Dos命令详解
- 《设计模式之禅》试评员名单公布
- 学习笔记8(有些疑惑)
- 模拟购买火车票(线程)
- 混合、反走样、雾效、多边形偏移
- 位图和图像
- 帧缓冲区
- 分格化和二次方程表面
- jQuery menu
- 抽象---接口(今天在书上的一点小总结)
- 离散数学