java 中的内部类

内部类

1,新建Outer类

package oop.demo11;

//外部类;
public class Outer {
    //    private  int id = 19301041;
    private static int id = 19301041;

    public void out() {
        System.out.println("这是一个外部类 方法;");
    }

    //   这是一个内部类
    public class Inner {
        public void in() {
            System.out.println("这是一个内部类 方法;");
        }

        //        内部类,访问外部类的一些私有变量;
//        获得外部类的系有属性;
        public void getTd() {
            System.out.println("id:" + id);
        }
    }

    //    静态内部类
//   这是一个内部类
    public static class Inner2 {
        public void in() {
            System.out.println("这是一个内部类 方法;");
        }

        //        内部类,访问外部类的一些私有变量;
//        获得外部类的系有属性;
        public void getTd() {
            System.out.println("id:" + id);
        }
    }

    //    局部内部类
    public void method() {
        class Inner3 {
            public void in() {

            }
        }
    }

}

//一个Java类 中可以的多个class类 但是 只有一个 public class
//内部类;
class A {
    public static void main(String[] args) {

    }
}

2,新建Test类

package oop.demo11;

public class Test {
    public static void main(String[] args) {
        Apple apple = new Apple();
        apple.eat(); //eat------------>Apple

        System.out.println("===========");
//        没有名字初始化类、 匿名内部类;匿名对象的使用;  不用蒋实例保存到变量中,
        new Apple().eat(); //eat------------>Apple

        UserService userService =  new UserService() {
            @Override
            public void hell0() {

            }
        };
    }
}

class Apple {
    public void eat() {
        System.out.println("eat------------>Apple");
    }
}

interface UserService {
    void  hell0();
}

3,新建Application类

package oop.demo11;

public class Application {
    public static void main(String[] args) {
        //new
        Outer outer = new Outer();
        outer.out(); //这是一个外部类 方法;

//        通过这个外部内来实例化这个内部类;
        Outer.Inner inner = outer.new Inner();
        inner.in(); //这是一个内部类 方法;

        inner.getTd(); //id:19301041
    }
}

4,运行结果

原文地址:https://www.cnblogs.com/d534/p/15095827.html