【发布时间】:2017-01-12 01:12:42
【问题描述】:
我编写了一个小程序,其中包含几个已定义的类。我正在为这些课程编写测试。我为其中一个类编写的构造函数有一个参数,它是另一个类的实例。所以,它看起来像这样:
interface type1 {}
interface type2 {}
class class1 implements type1{
String something;
int somethingElse;
//...
}
class class2 implements type1{
String something2;
int somethingElse2;
//...
}
class class3 implements type2{
Object obj1;
Object obj2;
String blabla;
//...
class3(Object inObj1, Object inObj2, String x){
this.obj1 = inObj1;
this.obj2 = inObj2;
this.blabla = x;
}
}
如上所述,我正在创建测试。有两个测试类(每个接口一个)。我希望它们看起来像这样:
class ExamplesType1{
class1 type1Something1 = new class1(...);
class2 type1Something2 = new class2(...);
}
class ExamplesType2{
class3 type2Something = new class3(type1Something1, type1Something2, ...);
}
我的问题是,我如何从 ExamplesType2 访问属于 ExamplesType1 成员的对象,以便我可以...运行我的测试?假设我不能在同一个类中测试两个接口,并且我不能在 ExamplesType1 和 ExamplesType2 中再次定义定义的对象。
我知道我可以创建一个返回函数(例如,getType1Something()),但它们是公共的,所以我不应该能够在不定义函数的情况下访问它们吗?
对不起,如果这是一个新手问题...今天刚开始使用 Java。
感谢您的帮助!如果需要任何澄清,请告诉我。
【问题讨论】:
-
如果遵循类和接口名称的命名约定会更好。根据 Oracle:“类名应该是名词,大小写混合,每个内部单词的首字母大写。”
-
您必须先创建
ExamplesType1的实例,然后才能访问公共字段。不过,您确实应该使用 getter 方法。 -
您的代码中没有公共成员。
-
@4castle 我同意你的看法,我应该。但我不能……这是一项有一些弱智要求的学校作业。创建一个实例可能会起作用......看不出他们(TA)为什么会拿分。谢谢。
-
Access level modifiers 确定其他类是否可以使用特定字段或调用特定方法。
标签: java class class-members