java 中,同一个包内的类如何相互调用?

为什么不可以直接相互调用?各位大侠请指点,谢谢!!!
文件 1(userinfo.java):
package DB;
public class userinfo{}
文件2(reg.java):
package DB;
public class reg{
private userinfo info;
public reg(){
info= new userinfo();
}
}

文件1和文件2该放到哪里,如何编译?

只要定义为public
那么可以直接调用
比如我有类A1、A2
A1中有方法
public void getAge(){}
public void getName(){}
在类A2中调用A1中的方法
那么就是要在A2中写
A1 a1 = new A1();
a1.getAge();
a1.getName();
以上两句就可以调用类A1中的方法
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-03-12
要将所有的类放在同一个文件夹里,现在你这的userinfo类放在文件1里,reg类放在文件2里,就相当于是两个工程,虽然这两个类有同样的包名,但不在同一个工程里,就自然不在同一个包里了。
更改方法:
将这两个类放到同一个文件里

文件 1(userinfo.java):
package DB;
public class userinfo{}

文件 1(reg.java):
package DB;
public class reg{
private userinfo info;
public reg(){
info= new userinfo();
}
}
可以在试试
第2个回答  推荐于2017-10-06

java中类调用的方法只有俩种。

    实例化对象,用该对象调用该类中的方法。

    直接用类名.方法进行调用。 (被static修饰过的静态方法)

第3个回答  2010-03-11
同一个包内的类,如果你把类的属性定义为public的话,那就是可以相互之间调用的啊!
第4个回答  2010-03-11
在同一个包里的话,如果public的,可以再A类中实例化B类,也就是说new B();就可以调用B类中的方法了,
如:
B b = new B();
b.getName();
相似回答