我好象发现JBuilder、JCreator、Eclipse都不能编译呀
解决方案 »
- swing之JTable的使用
- 将table 变成透明
- java播放wav的问题
- 关于console程序的问题 怎么在程序执行后不关闭cmd
- 为什么在JScrollPane中的JList无法显示?
- 实在解决不了,又是编码问题,mysql已经设为utf8编码,我写了一个Java应用程序,在dos下直接运行它,把数据插入乱码
- 各位大虾帮忙啊急如何在jbpersonal中实现一个工程调用另一个工程
- 在java打印中可以控制线的粗细吗?
- 寻求Java 图形开发中文资料
- 客户端和服务器通信问题
- thinking in Java 和 Inside com中文版 都叫什么? 谢谢
- 如何在应用程序中启动系统默认邮件软件如outlook express?
public class TestIsNull { /**
*
*/
public TestIsNull() {
super();
// TODO Auto-generated constructor stub
}
public void destroy(){
this = null;
}
public static void main(String args[]){
TestIsNull b = new TestIsNull();
System.out.println(b);
b.destroy();
System.out.println(b);
}
}
我觉得奇怪的是,打印出来
dao.TestIsNull@126b249
dao.TestIsNull@126b249为什么第二个没有变成 null ?
如果把 b.destroy() 改为 b = null.
打印结果就是
dao.TestIsNull@126b249
null
哪位达人给解释一下???
public void destroy(){
this = null;//你要注意,实际上你的类是存在的。this根本就不能够被改变
//所以就算它能够编译通过,这句话根本就不会有任何作用
}
javac没办法编译,你是怎么通过的?
不过好像 jdk 自带的 javac 是不能编译, eclipse 不知道为什么可以,可能IBM认为这样可以,
算了,反正这句加上去也是白加。
估计eclipse并没有使用 jdk的 javac
我的jcreator也编译不了,不过jb8和其它开发工具可能使用其它的编译器,如jb8使用自己的jdk1.3,而我的jcreator使用的是jdk1.4