什么是实例内部类 Instance inner class有什么语法?

Instance inner class定义,用途和用法
重要语法:马克-to-win:1)实例内部类一定得有个外层类的实例和它绑定在一 起。所以可以用This指针。2)语法规定:实例内部类不能有静态的属性或方法。马克-to-win:2)既然每个内部类实例都可以改变他们共同的外层类 的静态属性或实例属性,他们成为内部类实例们可以交互的地方。

例2.1:
class ShellMark_to_win {
    int shell_x = 100;//既然每个内部类实例都可以改变这里的外层类静态属性或实例属性,马克-to-win:这里成为内部类实例们可以交互的地方
    static int n;
    void visitCore() {
        Core core = new Core();
        core.y=8;
        core.display();
    }
    // 下面是个实例内部类,必须有个外层类实例,才能有这个内部类实例。所以就有了this这个概念。
    class Core {
      
  //    static int m=9;
        int y = 10; // y is local to core
        void display() {
            shell_x=shell_x+20;
            n=n+1;//轻松访问外层类的静态变量
            System.out.println("n is "+n+" display: shell_x and y " + shell_x + " "+ShellMark_to_win.this.shell_x+ " " + y+ " "+this.y);
        }
    }
    Core newC()
    {
        return new Core();
    }
    void showy() {
        // y=9; // 错误,马克-to-win:外层类不能直接访问内部类的属性。error,y not known here! System.out.println(y);
    }
}
public class Test {
    public static void main(String args[]) {
        ShellMark_to_win shell = new ShellMark_to_win();
        shell.visitCore();
        ShellMark_to_win.Core sc=shell.new Core();//内部类是存在于外部对象里的。
。。。。。。。。。。。。。。。。。
详情请进:http://www.mark-to-win.com/JavaBeginner/JavaBeginner4_web.html#WhatIsInstance
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭