Java 抽象类

来源:互联网 发布:淘宝摄影棚用什镜头 编辑:程序博客网 时间:2024/06/06 00:17

1、什么是抽象类?

抽象类前使用abstract关键字修饰,则该类为抽象类

2、抽象类有什么作用?

限制规定子类必须实现的方法,但不关注实现细节

3、抽象类应用场景?

1)在某些情况下,某个父类只是知道子类应该包含怎么样的方法,但无法准确知道这些子类如何实现这些方法
2)从多个具有相同特征的类抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性

4、抽象类的使用规则?

1) abstract 定义抽象类
2) abstract 定义抽象方法,只有声明,不需要实现
3) 包含抽象方法的类是抽象类
4) 抽象类中可以包含普通方法,也可以没有抽象方法

5、使用抽象类应该注意哪些?

1) 抽象类不能直接实例化,我们通常定义他为引用变量指向子类对象
2) 继承抽象类,必须实现抽象类的抽象方法(换句话说,如果子类没有全部实现父类定义的抽象方法,那么子类依然还是个抽象类,必须用bastract修饰)
3) 抽象类是特殊的普通类,可以有普通方法
4) 抽象方法没有方法体,以分号结束

注意 : 抽象类同样可以包含属性、方法(普通方法和抽象方法)、构造器、初始化块等。但是抽象类的构造器不能用于实例化,主要是用于被器子类调用(你可以这么理解,假设可以实例化,那么调用抽象方法有意义么?)

定义一个抽象类

public abstract class Telephone {    //注意 : 抽象方法没有方法体,以分号结束    public abstract void call();    public abstract void sendMessage(); }

//子类继承抽象类

public class SmartPhone extends Telephone {    @Override    public void call() {        System.out.println("通过语音打电话");    }    @Override    public void sendMessage() {        System.out.println("通过语音发信息");    }}

main函数

        //父类引用指向子类对象 (SmartPhone 类型)        Telephone tel2 = new SmartPhone();        tel2.call();        tel2.sendMessage();

6、模板方法设计模式
在定义功能时,功能的一部分是确定的,但是有一部分不确定,而确定的部分在使用不确定部分,那么这时就将不确定的部分暴露出去,由该类的子类去完成。
有点 : 提高扩展性、提高复用性

如何使用呢 ? 举个例子 : 计算一段程序的运行时间

public abstract class Tool {    public final void getTime(){        //获取当前时间        long  start = System.currentTimeMillis();        // 这边写程序的执行代码        runCode();        // 获取结束时间        long  end = System.currentTimeMillis();        //计算时间并输出        System.out.println("runtime:"+(end-start));    }    public abstract void runCode();}// 子类直接继承 实现 runCode() 即可

demo 地址 : http://download.csdn.net/download/qq_18505715/9849928

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孕妇上大便有血怎么办 做完爱小腹坠痛怎么办 月经不来肚子胀怎么办 月经期间肚子疼的厉害怎么办 大姨吗来了肚子疼该怎么办 孕妇7个月拉肚子怎么办 胃疼肚子也疼怎么办 6个月孕妇肚子疼怎么办 孕妇4个月肚子疼怎么办 孕妇5个月拉肚子怎么办 4个月孕妇拉肚子怎么办 怀孕5个月拉肚子怎么办 肠胃老是胀气很不舒服怎么办 肚子里有气排不出来怎么办 小兔子不吃兔粮怎么办 泰迪肚子一直叫怎么办 狗狗肚子响该怎么办 狗狗肚子一直响怎么办 一刮风空调就响怎么办 胃里有气往上顶怎么办 胃里难受想吐怎么办 胃里感觉有水怎么办 喉咙总有气堵着怎么办 胃难受恶心想吐怎么办 胃里有气怎么办总放屁 肚子里有气很痛怎么办 胃有气排不出来怎么办 狗狗又吐又拉稀怎么办 狗吐了又拉稀怎么办 金毛狗又拉又吐怎么办 狗狗拉稀像水怎么办 狗狗拉稀带血怎么办 小狗狗又吐又拉怎么办 6个月婴儿拉肚子怎么办 一岁宝宝拉稀水怎么办 16个月宝宝拉稀怎么办 吃太多撑的胃疼怎么办 吃的撑的胃难受怎么办 9岁小儿肠鸣腹泻怎么办 吃凉的肠鸣腹泻怎么办 牛不排便不倒嚼怎么办