面向对象——内部类

来源:互联网 发布:淘宝的电脑主机能买吗 编辑:程序博客网 时间:2024/05/17 03:27

概念:

在一个类的内部定义的类,称为内部了;内部内所在的类,称为外部类。

作用:

内部类属于Java高级编程内容,使用非常灵活,掌握难道较大。合理使用,可编译出更好更高效的代码。

Java的内部类的分类:

静态内部类:

最简单的内部类形形式,定义在另一个类中,同时加上static关键字,它不能和外部类同名,它只可访问

外部类的静态成员变量和方法(包含私有的静态成员变量和方法)。


成员内部类:

同静态内部类相同,但定义不用static关键字,它可以访问外部类的所有成员变量和方法(包含静态和非静态)。


局部内部类:

定义在方法中,比方法的使用范围更小,是内部类中最少使用的。

它像局部或临时变量一样,不能被public  protected  private 和 static关键字修饰。它只能访问方法中定义的final类型

的局部变量。局部内部类定义在方法中,所以只能在方法中使用,即只能在方法中实例化局部内部类对象,并调用其方法。


匿名内部类:

它是一种特殊的内部类,是没有类名的局部内部类,不使用关键字class extends 等,且没有构造器

匿名内部类的定义和实例化唯一对象而定义的类。当我们只需要实例化类的一个对象,而且不用类名时,使用匿名内部类

可以使代码更简洁,匿名内部类隐式的继承类一个父类或实现一个接口。

匿名内部类在编程中使用得较多,通常作为一个方法参数使用。


内部类的作用和好处:

1. 内部类可以很好的实现封装(数据隐藏),因为一般非内部类是不允许有protected  private访问权限,但内部类可以有;

2. 内部类拥有外部类的所有成员的访问权限;

3. 可以实现多重继承;

4. 可以避免修改接口而实现同一个类中两种同名方法的调用。














0 0
原创粉丝点击