Java内部类

内部类
<1>内部类的概念:定义在类或者方法 ( 代码块 ) 中的类。
<2>按照定义的位置可以分为:
成员内部类:定义在类里面   ( 像外部类的方法 )
局部内部类:定义在方法或者代码块中的类
<3>内部类得特点:
   内部类可以直接访问外部类的成员。
   外部类要访问内部类的方法,必须要创建内部类对象。
<4>成员内部类:
哪些修饰符可以修饰成员内部类?
<5> 4 种访问控制修饰符, static final abstract
<6>局部内部类:
哪些修饰符可以修饰局部内部类?
final  abstract
<7>非静态内部类实例化的语法:
外部类名.内部类名 对象名 = new 外部类构造器(). new 内部类构造器();
<8>静态内部类实例化的语法:
外部类名.内部类名 对象名 = new 外部类名.内部类构造器();
  <9>静态内部类和非静态内部类的区别:
(1)在静态内部类中,只能访问外部类中的静态属性和方法。
(2)在非静态内部类中,外部类的成员都可以访问。
(3)在静态内部类中可以定义静态的属性和方法,但是在非静态内部类中不可以。
创建对象的方式不一样。
<10>如果在外部类中定义的成员变量,和内部类的成员变量名一致时,可以使用 this 关键字来区分。
this. 属性名   内部类中的成员变量
外部类名 .this. 属性名    外部类中的成员变量
<11>局部内部类,只能访问方法(此内部类所在的方法)中的常量 ( final 修饰的变量 ) 和外部类的成员
<12>匿名内部类:没有名字的类。
通常使用的场景:   当想要创建抽象类或者接口的对象的时候。 语法:   new  父类或者接口 () { 实现接口(抽象类)中的所有抽象方法 };

你可能感兴趣的:(java,java)