一:
若有两个文件:one.java two.java ,在 one.java 中要用到 two.class。理论上要先编译 two.java 然后再编译 one.java 才不致报错。但 javac *.java 这个命令,编译当前目录下所有 .java 文件。又没有指定先编译哪个文件,为什么不报错?二:
为什么在构造函数前加访问权限(public ,……),返回类型,结果不报错?
若有两个文件:one.java two.java ,在 one.java 中要用到 two.class。理论上要先编译 two.java 然后再编译 one.java 才不致报错。但 javac *.java 这个命令,编译当前目录下所有 .java 文件。又没有指定先编译哪个文件,为什么不报错?二:
为什么在构造函数前加访问权限(public ,……),返回类型,结果不报错?
2、编译器没有把你那个方法当作构造函数,class是可以不写构造函数的,默认会有无参的构造函数的说
若有两个文件:one.java two.java ,在 one.java 中要用到 two.class。理论上要先编译 two.java 然后再编译 one.java 才不致报错。但 javac *.java 这个命令,编译当前目录下所有 .java 文件。又没有指定先编译哪个文件,为什么不报错?
这在Java中叫做:动态绑定...所以只要你编译one.java就会调用two.java的...
为什么在构造函数前加访问权限(public ,……),返回类型,结果不报错?在构造方法中加返回类型是会报错的.....你编译时候不不报错么?
加访问权限是肯定不会报错的
public static void main(String[] args)
{
two a=new two();
System.out.println(a.getVal());
}}class two
{
protected two()
{
a=5;
}
int two() // 不执行这个,重载吗?! 重载的定义好象不包括返回值。
{
a=3;
return 3 ;
} int getVal()
{
return a;
}
int a;
}