A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

4 个回复

倒序浏览
第一个问题是创建内部类时  为什么不能写成我注释的那行
回复 使用道具 举报
第二个问题是    为什么方法内部类中不能有static成员
回复 使用道具 举报
针对第二个问题  小弟的理解可不可以是  方法内部类中的静态方法  只要外部类加载  内部类静态方法也加载了 而外部类方法必须创建外部类对象才有意义  所以矛盾了?
回复 使用道具 举报
今天索性去慕课网看了一下内部类  有点迷糊 求神指导
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马