public class HelloWorld {
private String name = "爱慕课";
// 外部类中的show方法
public void show() {
// 定义方法内部类
class MInner {
int score = 83;
public int getScore() {
return score + 10;
}
}
// 创建方法内部类的对象
MInner newScore=new MInner();
// 调用内部类的方法
newScore.getScore();
System.out.println("姓名:" + name + "\n加分后的成绩:" + newScore);
}
// 测试方法内部类
public static void main(String[] args) {
// 创建外部类的对象
HelloWorld mo=new HelloWorld();
// 调用外部类的方法
mo.show();
}
}
// 创建方法内部类的对象
MInner i = new MInner();
// 调用内部类的方法
int newScore = i.getScore();
你好,按照题目的意思newScore应该是一个int型的变量,所以你的MInner newScore=new MInner();语句不正确,创建的对象名不能是newScore。你可以改下例如改为MInner mi=new MInner();即创建一个名为mi的方法内部类对象,然后声明一个题目要求的名为newScore的int变量接受方法返回值, 即int newScore =im.getScore();
你确定你这样创建内部类对象 有意义吗 为什么不在main函数里创建呢?
好像明白了,这样输出的只是对象名,并没有输出方法的结果 ,,