如果没有在定义处初始化,那么除非发生了不可避免的运行期异常,否则将不能保证信息在发送给对象引用之前已经被初始化。这是java编程思想了的一句话,怎么理解?
解决方案 »
- WARN JDBCE 100 SQL Error: 1064, SQLState: 42000 ERROR JDBCExceptionReporter:101
- 求书啊,谢谢各位大哥 大姐了
- Swing程序打包发布,并且安装成windows服务
- java中怎样输入一个数字,然后再把它输出?
- 毫无思路,100分请高手帮下忙
- 我能做JAVA开发吗?! 希望兄弟们给些建议!
- 请问要下载的jakarta-poi的具体文件名是什么?(如:jakarta-poi-1.9.0-dev-20030117.jar)
- java 事件中的GEIID()怎么用?谢谢
- javamail再问,怎麽通过UID取message
- 我想买think in java,但听说第二版(中文)要出了,不知什么时候能出?
- 关于正则表达式的一个问题。
- 请高手帮忙事件传值怎么传?
由于采用了延迟绑定技术,方法、域、类的名称直到运行时才解析,意味着只要域、方法等的名称(以及类型)一样,类的主体可以任意替换——当然,这是一种简化的说法,还有其他一些规则制约Java类的二进制兼容性,例如访问属性(private、public等)以及是否为abstract(假如一个方法是抽象的,那么它肯定是不可直接调用的)等,但延迟绑定机制无疑是二进制兼容的核心所在。
只有把握了二进制兼容的规则,才能在改写类的时候保证其他类不受到影响。
[赋值A] (有可能)
引用A 就推出定义的时候不初始化A,在引用A的时候就有可能为null 这有什么难理解的?
System.out.println(a.length());
}public void run(int index){
if(index==1){
a="abc";
}
}如果运行run()传过来的index不等于一,那么运行run1()的时候会怎么样呢?
这样就会报错,而object o=new object();o.equals();
这样就不出错,如果一个引用没有new的话,你再去使用它,就是错误的,明白了?