Java基础------知识点整理(六)-----抽象
2016-03-28 11:56
309 查看
1.方法只有声明,没有具体实现时,该方法就是抽象方法,需要被abstract抽象画,只要含有抽象方法就是抽象类,所以也必须把类也用abstract修饰
格式:
2.抽象类不能被实例化,因为其抽象的方法没有意义
3.抽象类的子类必须覆盖所有的抽象方法后才能实例化,否则导出类仍然是抽象类
4.疑点
(1) 抽象类也有构造函数,用于给子类对象进行初始化(虽然不能自己创建对象)
(2)抽象类中可以不定义抽象方法,只有类名为抽象的,目的就是不让这个类创建对象(如ATW适配器的对象,这个类只有方法体,没有方法内容)
(3)abstract不能喝那些关键字共存
(i)private:因为private私有化后,其子类继承不来,这就导致其子类永远是抽象类了,不能实例化
(ii)static:static修饰的方法调用不需要创建对象,类调用就可以,但是抽象方法没有内容,不能被调用
(iii)final:final修饰的方法不能覆盖,final修饰的类不能被继承,而抽象类必须继承后才能被实例化
5.抽象类与一般类异同点
相同点:都是用来描述事物
不同点:
(1)一般类有足够信息描述,抽象类信息描述不足
(2)一般类可实例化,抽象类不能实例化
(3)一般类中不可以定义抽象方法,抽象类中既可定义抽象方法,也可以定非抽象方法
(4)抽象类一定为父类,因为子类继承并实现后才能使用
格式:
abstract void f(); abstract class Instrument{ coding .....}
2.抽象类不能被实例化,因为其抽象的方法没有意义
3.抽象类的子类必须覆盖所有的抽象方法后才能实例化,否则导出类仍然是抽象类
4.疑点
(1) 抽象类也有构造函数,用于给子类对象进行初始化(虽然不能自己创建对象)
(2)抽象类中可以不定义抽象方法,只有类名为抽象的,目的就是不让这个类创建对象(如ATW适配器的对象,这个类只有方法体,没有方法内容)
(3)abstract不能喝那些关键字共存
(i)private:因为private私有化后,其子类继承不来,这就导致其子类永远是抽象类了,不能实例化
(ii)static:static修饰的方法调用不需要创建对象,类调用就可以,但是抽象方法没有内容,不能被调用
(iii)final:final修饰的方法不能覆盖,final修饰的类不能被继承,而抽象类必须继承后才能被实例化
5.抽象类与一般类异同点
相同点:都是用来描述事物
不同点:
(1)一般类有足够信息描述,抽象类信息描述不足
(2)一般类可实例化,抽象类不能实例化
(3)一般类中不可以定义抽象方法,抽象类中既可定义抽象方法,也可以定非抽象方法
(4)抽象类一定为父类,因为子类继承并实现后才能使用
相关文章推荐
- Spring IOC 基于注解的使用
- spring
- Eclipse安装,汉化及使用教程
- eclipse maven2插件——pom图形化编辑工具
- java中map与set的区别是什么
- Java FileOutputStream中向文本文件中写入换行符
- Guava之ListenableFuture(实现Java异步)
- JAVA中几种集合(List、Set和Map)的区别
- java调用jython报ImportError: No module named...错误解决方法
- java线程知识总结
- 关于 java.lang.NoSuchMethodError: antlr.collections.AST.getLine()的解决方法
- zookeeper之系列一:出场和它的组成
- java浮点型比较大小
- JAVA基础-- 对象转型 (casting)
- JavaWeb项目开发案例精粹-第6章报价管理系统-07View层
- 100天JAVA学习计划01-HelloJAVA
- java动态代理(JDK和cglib)
- 谷歌宣布Android Studio将取代Eclipse
- MyBatis学习 之 一、MyBatis简介与配置MyBatis+Spring+MySql
- JavaWeb项目开发案例精粹-第6章报价管理系统-06po层