首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

问个编译指令和构造函数有关问题

2012-01-06 
问个编译指令和构造函数问题一:若有两个文件:one.javatwo.java,在one.java中要用到two.class。理论上要先编

问个编译指令和构造函数问题
一:
若有两个文件:one.java       two.java   ,在   one.java   中要用到   two.class。

理论上要先编译   two.java   然后再编译   one.java   才不致报错。

但   javac   *.java     这个命令,编译当前目录下所有   .java   文件。又没有指定先编译哪个文件,为什么不报错?

二:
为什么在构造函数前加访问权限(public   ,……),返回类型,结果不报错?

[解决办法]
1、说明sun在作javac命令时候已经考虑到了这一点
2、编译器没有把你那个方法当作构造函数,class是可以不写构造函数的,默认会有无参的构造函数的说
[解决办法]
一:
若有两个文件:one.java two.java ,在 one.java 中要用到 two.class。

理论上要先编译 two.java 然后再编译 one.java 才不致报错。

但 javac *.java 这个命令,编译当前目录下所有 .java 文件。又没有指定先编译哪个文件,为什么不报错?


这在Java中叫做:动态绑定...所以只要你编译one.java就会调用two.java的...
[解决办法]
二:
为什么在构造函数前加访问权限(public ,……),返回类型,结果不报错?

在构造方法中加返回类型是会报错的.....

你编译时候不不报错么?
加访问权限是肯定不会报错的
[解决办法]
这个不叫重载,只是定义了一个跟类名相同的方法。
理论上可行,实践中不推荐。
[解决办法]
楼上说的不错,补充一点,构造函数前面加限定字段(public,private等)是完全可行的;如果加上private,那么在别的类中就不能实例化这个类,这在单例模式中常常用到。

热点排行