界面中有一个类营养,由另一个类Rose实现。如何通过实例化Rose来访问类营养方法?
interface forboth {
void habitat();
int i = 2;
static class nutrition {
static void water() { System.out.println("m in water"); }
void manure() {};
}
}
class Rose implements forboth {
@Override
public void habitat() {}
}
class RoseLotus {
public static void main(String args[]) {
Rose rose = new Rose();
Lotus lotus = new Lotus();
int j = rose.i;
rose.nutrition.water();
}
}
答案 0 :(得分:0)
您的nutrition
课程为forboth
Rose
,而不是forboth.nutrition.water();
。
{{1}}
Java不会将接口中的嵌套类传递给实现类名称空间,以减轻继承多个接口的潜在问题。
顺便说一下,使用大写字母启动类是传统的Java命名约定。当然,这不是必需的,但它会让您的代码对其他人更具可读性(并且它不会将语法高亮显示器混淆在SO上)。