求解啊 求解。!!!

//外部类
public class HelloWorld {
    
    private String name = "爱慕课";
    
    // 外部类中的show方法
    public void show() { 
// 定义方法内部类
class MInner {
int score = 83;
public int getScore() {
return score + 10;
}
}
        
// 创建方法内部类的对象
        MInner mi = new MInner();
        
        // 调用内部类的方法
       int newScore = mi.getScore();
System.out.println("姓名:" + name + "\n加分后的成绩:" + newScore);
}
    
// 测试方法内部类
public static void main(String[] args) {
        
// 创建外部类的对象
        HelloWorld hello = new HelloWorld();
        
        // 调用外部类的方法
hello.show();
}
}
// 创建方法内部类的对象
        MInner mi = new MInner();
        
        // 调用内部类的方法
       int newScore = mi.getScore();

这两条语句为什么要放在这里啊,要我写的话:

class MInner {
int score = 83;
// 创建方法内部类的对象
        MInner mi = new MInner();
        
        // 调用内部类的方法
       int newScore = mi.getScore();
       System.out.println("姓名:" + name + "\n加分后的成绩:" + newScore);
public int getScore() {
return score + 10;
}

可是这样写不对啊,求大佬告知啊~~~

Felix_Sun
浏览 408回答 1
1回答

安浪创想

class XXX{}里是类的定义,里面只能写属性(变量)或者方法。而不能直接写其他语句。class MInner { int score = 83; // 创建方法内部类的对象 MInner mi = new MInner(); // 调用内部类的方法 int newScore = mi.getScore(); System.out.println("姓名:" + name + "\n加分后的成绩:" + newScore); public int getScore() { return score + 10; }这是一个类,不能写一个语句 System.out.println("姓名:" + name + "\n加分后的成绩:" + newScore);这个不是对象也不是方法。如果你需要打印东西或者进行其他操作,就需要用这个类创建对象并执行这个类里面的方法,也可以是静态方法。而不能把操作写在class XXX{}大括号这级语句块中。因为类只有使用到时候才触发的。你不去用这个类的时候它的属性和方法都不会动。
打开App,查看更多内容
随时随地看视频慕课网APP