抽象类、接口、内部类和匿名类辨析

抽象类、接口、内部类和匿名类辨析

1、软件中类
1)公有类 :任何地方都可见
2)默认类(同包类):当前包中可见
3)内部类:类内部
4)匿名内部类:当前方法中

2、抽象类 abstract

1)使用abstract关键字声明的类
2)表示逻辑上抽象的概念
3)抽象类不能直接实例化
4)抽象类只能被继承
5)抽象类可以定义变量,引用具体类的实例
	抽象类的实例是多种多样的——多态现象
6)抽象类中可以定义抽象方法,代表必须由子类实现的抽象的功能,抽象方法规范了子类的方法。
	抽象方法:使用abstract关键字定义,有方法名,没有方法体
	必须由子类实现的方法,实现API与使用者代码的约定

3、接口
1)是纯抽象类,接口中只能定义抽象方法和常量
2)子类可以实现(implements)多个接口。就是Java中的多继承现象(和抽象类不同的地方)
3)接口可以定义变量,引用子类型实例
4)接口也用于定义软件的规约

3、内部类
1)在类内部,或者在方法中定义的类
2)使用目的,是为了封装类的定义范围,在类内部使用

4、匿名内部类–匿名类
1)语法简洁:new Xoo(){}
2)是在方法中定义的内部类,作用域是当前方法。
3)内部类,匿名内部类,都会编译为一个独立的.class文件
4)常用匿名类在方法中简洁的实现接口或者抽象类。
5)匿名类中的方法经常被回调执行

posted @ 2020-03-26 19:48  李泽坤  阅读(440)  评论(0编辑  收藏  举报