内部类

一:定义

  把一个类写到另一个类或者方法中

二:内部类的分类

  (1)成员内部类:直接定义在外部类的内部

    1.可以拥有private ,protected访问权限修饰符,

    2.如果外部类和内部类属性重名,就近原则使用内部类的属性;

    3.如果外部类和内部类属性重名,想访问外部类的属性:

      外部类名.this.属性/方法();

    4.想访问内部类,必须先创建外部类对象。

  (2)静态内部类:成员内部类用static修饰

    1.成员内部类 加载 static

    2.不依赖外部类可以直接创建对象

    3.不能访问外部类非静态的属性和方法;

  (3)局部内部类 : 被定义在某个方法或代码块中

    1.仅限于方法体内部使用,相当于局部变量;

  (4)匿名内部类

    1.没有名称,看不到累的定义;

    2.所有匿名内部类必须继承一个类或者实现一个接口;

    3.如果匿名内部类需要类外部参数,这个参数需要用final修饰;

public static void main(String[] args) {
        // TODO Auto-generated method stub
        new Thread(new Runnable() {
            @Override
            public void run() {
                // TODO Auto-generated method stub
                System.out.println("线程名字:" + Thread.currentThread().getName());
            }
        }, "线程一").start();
    }
原文地址:https://www.cnblogs.com/ak666/p/8032175.html