Java教程 内部类的相关描述

Java教程 内部类的相关描述
关于Java教程内部类的相关描述:
定义在类内部的类,称之为内部类。
内部类分为四种类型:
1、成员内部类(非静态内部类):作为外部类的成员。特点:由于是外问类成员,可以使用成员 访问修饰符。成员内部类持有一个指向其外部类的引用。成员内部类,可以直接访问外部类的成 员。
2、静态内部类:类成员,属于类,而不属于对象,类似于其它静态成员。特点:属于静态成员, 只能访问外部类的静态成员。无需创建外部类的对象, 即可创建内部类的对象。
3、局部内部类:使用频率极低。定义在一个局部的作用域(非类)里。特点:有作用域和生命周 期的,作用域外部无法访问。
4、匿名内部类:使用得多一点。特点:没有名称,继承父类,或实现接口,在定义类的同时,创 建此类的唯一实例。
一个类文件中,可以定义多个类,但只能有一个是public的类。
实例一:成员内部类(非静态类):
在Test4 类里面有一个 Test5(静态类):
public class Test4 { public class Test5 { } }
实例二:静态内部类
在Test4 类里面有一个 Test5(非静态类):
public class Test4 { public static class Test5 { } }
实例三:局部内部类
局部类就是在作用于范围内有效,超出范围就类的作用就没有了
public class Shape { private String name; public String getName() { //局部内部类 class Point { } return this.name; } }
实例四:匿名内部类
匿名内部类就是没有名字,直接构造对象,直接new抽象类和new接口的时候会出现
public interface Person { public abstract void sayHello(); } //上面是接口,下面是匿名内部类 public class Test2 { public static void main(String[] args) { // 匿名内部类。使用多态。定义类的同时,创建类的唯一实例 Person p = new Person() { @Override public void sayHello() { System.out.println("hello"); } }; } }
来源:刘广法博客,请注意转载出处,网站地址为:https://liuguangfa.com/