JAVA中的抽象类
来源:互联网 发布:饺子 知乎 编辑:程序博客网 时间:2024/06/05 04:22
抽象类:包含了抽象方法的类。抽象方法就是只有方法的声明,没有方法体。
为什么需要抽象类?如何定义抽象类?
是一种模板模式。抽象类为所有子类提供了一个通用模板,子类可以在这个模板基础上进行扩展。
通过抽象类,可以避免子类设计的随意性。通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用。
要点:
1.有抽象方法的类只能定义为抽象类
2.抽象类不能实例化,既不能用new来实例化抽象类
3.抽象类可以包含属性,方法,构造方法。但是构造方法不能用来new实例,只能用来被子类调用。
4.抽象类只能用来继承
5.抽象方法必须被子类实现
Tset类:
为什么需要抽象类?如何定义抽象类?
是一种模板模式。抽象类为所有子类提供了一个通用模板,子类可以在这个模板基础上进行扩展。
通过抽象类,可以避免子类设计的随意性。通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用。
要点:
1.有抽象方法的类只能定义为抽象类
2.抽象类不能实例化,既不能用new来实例化抽象类
3.抽象类可以包含属性,方法,构造方法。但是构造方法不能用来new实例,只能用来被子类调用。
4.抽象类只能用来继承
5.抽象方法必须被子类实现
抽象类中的方法被子类继承时必须要重写该方法或者让子类也变成抽象类。
Animal类:
package cn.hxk.oop.abstactClass;public abstract class Animal {String str;public abstract void run(); //抽象方法的意义在于:将方法的设计与方法的实现分离了!public void breath(){System.out.println("呼吸");run();}//该构造器不能被Animal调用public Animal(){System.out.println("创建一个动物");}}class Cat extends Animal{@Overridepublic void run() {System.out.println("猫跑");}}class Dog extends Animal{@Overridepublic void run() {System.out.println("狗跑");}}
Tset类:
package cn.hxk.oop.abstactClass;public class Test {//Animal animal = new Animal()抽象类不能被实例化 不能调用new来构造对象public static void main(String[] args){Animal s = new Cat();s.run();}}
阅读全文
0 0
- java中的抽象类
- Java中的抽象类
- Java中的抽象类
- Java中的抽象类
- java中的抽象类
- java中的抽象类
- JAVA中的抽象类
- java中的抽象类
- java中的抽象类
- java中的抽象类
- java中的抽象类
- java中的抽象类
- Java中的抽象类
- java中的抽象类
- JAVA中的抽象类
- java中的抽象类
- Java 中的抽象类
- java 中的抽象类
- 《道德经》第五十三章
- 一首freestyle送给求职的你:面试通关必经路
- 动态代理和静态代理
- zepto源码之touch.js
- C++之明智而审慎地使用多重继承(40)---《Effective C++》
- JAVA中的抽象类
- 【mysql 优化 4】嵌套连接优化
- hdu 6052 To my boyfriend(枚举+容斥)
- 手机端qq客服代码点击弹出qq聊天窗http://www.51xuediannao.com/jiqiao/1026.html
- Yaf 扩展安装
- Redis做缓存的简单实例
- 学习OpenCL开发(四)shader
- 图像处理学习笔记(一)二值图像连通区域的几何中心
- 张一鸣10年面试过2000人:混得好的年轻人都有这几种特质!