java中的聚合

java中的聚合,java,aggregate-functions,Java,Aggregate Functions,我有以下代码 文件a.java class ABC { public void printing(DEF def, GHI ghi) { def.test(); ghi.test2(); } } class DEF { public void test() { System.out.println("as"); } } class GHI { public void test2()

我有以下代码

文件a.java

class ABC {
    public void printing(DEF def, GHI ghi)
    {
        def.test();
        ghi.test2();
    }
}

class DEF {
    public void test()
    {
        System.out.println("as");
    }
}

class GHI {
    public void test2()
    {
        System.out.println("dsfg");
    }
}
还有另一个文件,我们称之为文件b.java,如何从文件b.java上的类DEF和GHI创建对象

谢谢

请尝试以下方法

a a1 = new a();
DEF = a1.new DEF();
GHI = a1.new GHI();

如果它在同一个
包中,则可以正常工作,否则应
导入

使用导入语句

如果两个文件在同一个包中,则不必导入任何内容。如果两者都在不同的包中,请对包使用导入语句。 例如:

如果a.java在com.demo包中,请使用
import com.demo.*

顺便说一句,如果您使用的是Netbeans或eclipse,则无需执行任何操作,IDE将自动在ur b.java中导入这些类

然后可以为所需的类创建对象

编辑

更新2

例如:

DEF def= new DEF();
GHI ghi= new GHI();
现在您可以使用这两个类的方法

def.test();
ghi.test();

到目前为止你试过什么?(即,到目前为止,您在编写b.java方面的最佳尝试是什么?)。是给你的吗。OP不是在谈论外部和内部类。这会起作用的。是给你的吗。OP不是在谈论外部和内部类。我已经编辑了。请检查一下@Jayamohan你的b.java在哪里?您在那里尝试了什么?它在同一个软件包中,但它也不能与“DEF=new DEF()”一起使用。哦!!谢谢你注意到这个。。。我没有创建对象。您必须创建一个对象。很抱歉再次检查更新,是的,你是对的。从一开始就是我的愚蠢。我得到错误只是因为参数错误。非常感谢:D
def.test();
ghi.test();