抽象类使用规范的一些总结
2015-06-06 18:17
134 查看
1、抽象类可以没有抽象方法,但是有抽象方法的类必须定义为抽象类。
2、static 与 abstract 不能同时修饰一个方法。因为abstract的语义就是说这个方法是抽象方法,需要子类去实现。而static方法则是在本类中实现的,编译期绑定,不具有多态行为。
3、抽象方法必须存放在抽象类中。
4、不能用new去创建抽象对象,因为抽象类没有具体的方法体,创建没有意义。所以可以被继承,不能被实例化。
5、抽象类和抽象方法都必须用abstract修饰。
6、抽象类中的抽象方法要被使用,必须由子类复写其所有的抽象方法后,建立子类对象的调用。如果子类只覆盖部分抽象方法,那么该子类是一个抽象类。如果子类想不成为抽象类,那必须复写所有的父类的抽象方法。也就是说父类的抽象方法,可以只实现部分,但那样自己就必须改变成抽象类。
7、如果子类没有全部重写父类的所有方法,则子类自已也需要变成抽象类,要用abstract修饰,那么子类将不能被实例化。反之则可以。
理解:如果说类有等级的话,可以把类分成三个等级:
1.普通类:只有方法没有抽象方法。
2.抽象类:有普通方法,包含抽象方法。
3.接口:全是抽象方法
2、static 与 abstract 不能同时修饰一个方法。因为abstract的语义就是说这个方法是抽象方法,需要子类去实现。而static方法则是在本类中实现的,编译期绑定,不具有多态行为。
3、抽象方法必须存放在抽象类中。
4、不能用new去创建抽象对象,因为抽象类没有具体的方法体,创建没有意义。所以可以被继承,不能被实例化。
5、抽象类和抽象方法都必须用abstract修饰。
6、抽象类中的抽象方法要被使用,必须由子类复写其所有的抽象方法后,建立子类对象的调用。如果子类只覆盖部分抽象方法,那么该子类是一个抽象类。如果子类想不成为抽象类,那必须复写所有的父类的抽象方法。也就是说父类的抽象方法,可以只实现部分,但那样自己就必须改变成抽象类。
7、如果子类没有全部重写父类的所有方法,则子类自已也需要变成抽象类,要用abstract修饰,那么子类将不能被实例化。反之则可以。
理解:如果说类有等级的话,可以把类分成三个等级:
1.普通类:只有方法没有抽象方法。
2.抽象类:有普通方法,包含抽象方法。
3.接口:全是抽象方法
相关文章推荐
- Hbase总结(五)-hbase常识及habse适合什么场景
- 我为什么要写博客?
- cygwin的坑坑洼洼
- Java层与Jni层的数组传递(转)
- uml精粹——10.状态机图
- golang grpc thrift with aerospike
- 汇编指令详细解释
- 银行家算法(Java语言实现)
- 图解如何 将Excel里的数据导入到sql server数据库中
- C实现 LeetCode->Longest Palindromic Substring
- Oracle RAC 11gR2+WebLogic集群6节点项目安装实施维护视频课程套餐
- 学习笔记:MFC实现http协议传输图片和文本
- 2015华为软件精英挑战赛
- cocos2dx 物品下落动作实现
- MySQL取得当前时间的函数是什么 格式化日期的函数是什么
- spring3初步整合memcached
- java中包命名常见规则
- 【Insert Interval】cpp
- sql知识点的积累和使用过的例子
- C#导入Excel