当前位置: 技术问答>java相关
如果我有两个JAVA文件,其中一个需要调用另一里面的定义CLASS,应该怎么写呢???
来源: 互联网 发布时间:2015-04-16
本文导语: myfile.java ; other.java 在a.java中,除了 public class myfile { ... } 还有另一个CLASS class oneConfig { .... } 现在,我在other.java中,想使用: oneConfig of1=new oneConfig(); 那我应该在other.java中怎样写,才能编译通过呢? 还是说只...
myfile.java ; other.java
在a.java中,除了
public class myfile
{
...
}
还有另一个CLASS
class oneConfig
{
....
}
现在,我在other.java中,想使用:
oneConfig of1=new oneConfig();
那我应该在other.java中怎样写,才能编译通过呢?
还是说只需要在编译的时候,加一些编译参数就可以了?
请帮帮忙,谢谢!
在a.java中,除了
public class myfile
{
...
}
还有另一个CLASS
class oneConfig
{
....
}
现在,我在other.java中,想使用:
oneConfig of1=new oneConfig();
那我应该在other.java中怎样写,才能编译通过呢?
还是说只需要在编译的时候,加一些编译参数就可以了?
请帮帮忙,谢谢!
|
在java中,两个public类型的类是不能放在同一个文件中的,你的oneConfig之所以能和类myfile放在同一个文件中是因为oneConfig前没加public,这样java就把oneConfig作为myfile的一个私有的类,别人是无法访问的,这是要将两个类放在两个文件中的原因,而且oneConfig类要声明为public。
在jb6中,要将这三个文件放在同一个project下进行编译
在jb6中,要将这三个文件放在同一个project下进行编译
|
因为你的oneConfig类不是public的,所以其他package中的类不能访问。
既然只有本包能访问,就只能把Other.java和MyFile.java放在
同一个包的目录下面,然后编译。
但是如果你把OneConfig类独立出来,加上public,那么
没有必要把Other.java和OneConfig.java放在同一个目录下编译!
只需要在Other.java中加上import oneConfigPackage.*;
就行了,编译的时候若你使用了OneConfig类,会自动编译OneConfig.java
当然,你的oneConfigPackage要在classpath中。
既然只有本包能访问,就只能把Other.java和MyFile.java放在
同一个包的目录下面,然后编译。
但是如果你把OneConfig类独立出来,加上public,那么
没有必要把Other.java和OneConfig.java放在同一个目录下编译!
只需要在Other.java中加上import oneConfigPackage.*;
就行了,编译的时候若你使用了OneConfig类,会自动编译OneConfig.java
当然,你的oneConfigPackage要在classpath中。
|
你是不是在做A.java的时候没有用jb的new->class?那样的话,如果你从外部引入A.java文件是可以的,但是它的路径仍然是原来的路径,如果你希望这个文件‘确实’在你的project中,那么你就应该把这个A.java文件copy到你的这个project的其他*.java文件的所在目录,并在A.java的开头修改package ********;
*********就是你这个project所在的包,这样一定没有问题了。
*********就是你这个project所在的包,这样一定没有问题了。
|
放在同一个package里面,不需要import,不要听他误导
另外,你为什么要这样写,独立出来一个文件不是挺好吗
另外,你为什么要这样写,独立出来一个文件不是挺好吗
|
在java中如果使用自定义类,最好是将每个类独立为一个java文件,并以类名命名该文件,即将a.java分为myfile.java和oneConfig.java。调用方法:
1、如果没有package,要将other.java,myfile.java,oneConfig.java放在同一路径下进行编译
2、有package,以包名package myclass;为例,在other.java中,可通过
import myclass.*; 或
import myclass.myfile;
import myclass.oneConfig;
来进行引用。
1、如果没有package,要将other.java,myfile.java,oneConfig.java放在同一路径下进行编译
2、有package,以包名package myclass;为例,在other.java中,可通过
import myclass.*; 或
import myclass.myfile;
import myclass.oneConfig;
来进行引用。