一、成员内部类

    1. 成员内部类(对应属性的位置) 分为静态与非静态
    2. 类内可以定义属性、方法、构造器
    3. 可以别final、abstract修饰
    4. 可以调用外部类结构

    二、成员内部类实例化及调用外部类的属性或方法

    1. /**
    2. * 动物类
    3. * Animal类是外部类
    4. */
    5. public class Animal {
    6. String name;
    7. public static void main(String[] args) {
    8. // 实例化静态内部类
    9. Animal.cat cat = new Animal.cat();
    10. // 实例化非静态内部类
    11. // 1. 获取非静态内部类的对象
    12. Animal animal = new Animal();
    13. // 2. 通过对象.new 非静态内部类
    14. Animal.Dog dog = animal.new Dog();
    15. }
    16. // 成员内部类
    17. class Dog {
    18. String name;
    19. public void show(String name) {
    20. System.out.println(name);
    21. // 调用外部类的方法
    22. Animal.this.show(this.name + "成员内部类的属性");
    23. }
    24. }
    25. // 静态内部类型
    26. static class cat {
    27. String name;
    28. }
    29. public void main() {
    30. // 局部内部类
    31. class Horse{
    32. }
    33. }
    34. public void show(String name) {
    35. System.out.println(name);
    36. }
    37. }

    局部内部类(对应局部变量) 可以定义在方法、构造器、代码块