zoukankan      html  css  js  c++  java
  • 章节五、3-抽象类

    一、抽象类:一个类中没有包含足够的信息来描述具体的事物。

    用来捕捉子类的通用特性,比如两个事物具备共性,就可以向上抽取。

    抽象类不能被实例化,只能被用作子类的父类。

    在java中有两种方式能够只写方法名,不写方法体,一是抽象类,二是接口(本文介绍抽象类)

    二、建立一个抽象类(抽象类的关键为abstract)

    package introduction7;
    //abstract是手动输入的
    public abstract class AbstractCars {
    }

    三、抽象类中可以包含抽象方法,抽象方法也需要用abstract关键字进行修饰。

    四、抽象方法和抽象类的关系

    1、抽象类中不一定有抽象方法,当有抽象方法的类一定是抽象类。

    2、抽象类中的抽象方法必须被实现。

    3、如果一个子类中没有实现父类中的抽象方法,那么子类也成为了一个抽象类。

    4、抽象类必须被继承,抽象方法必须被重写。

    五、如何使用抽象类、抽象方法?

    1、创建两个类,AbstractCars和AbstractDemoBMW

    其中AbstractCars包含以下内容:

    package introduction7;
    //abstract是手动输入的
    public abstract class AbstractCars {
        int speed;
        private int privateSpeed;
        protected int protectedSpeed;
        public AbstractCars() {
            this(0);
        }
    
        public AbstractCars(int startSpeed) {
            speed = startSpeed;
        }
        
        public void setprivateSpeed(int privateSpeed) {
            this.privateSpeed = privateSpeed;
        }
        
        //抽象方法,任何继承了这个类的子类都必须实现这个抽象方法
        public abstract void engineStart(String keyType,int num);

    }

    AbstractDemoBMW主要用来演示调用。

    2、如果AbstractDemoBMW想使用AbstractCars这个抽象类,必须先继承AbstractCars

    package introduction7;
    
    public class AbstractDemoBMW extends AbstractCars{
        public void setprivateSpeed(int privateSpeed) {
            super.setprivateSpeed(10);
        }
        
        //实现父类中的抽象方法,如果不实现直接调用,程序会报错
        @Override
        public void engineStart(String keyType, int num) {
            System.out.println("这是bmw的启动方式。。。");
        }
    }
  • 相关阅读:
    android学习十四(android的接收短信)
    C/C++知识要点4——printf函数以及cout的计算顺序
    HDU 5355 Cake(2015多校第六场,搜索 + 剪枝)
    微信错误提示code= -4/微信发送被拒绝
    struts2的validate在使用过程中的一个问题
    28.字符串的排列
    Redis入门经典——The Little Redis Book (翻译)
    POJ 3155 Hard Life(最大密度子图)
    BZOJ 1798 AHOI2009 Seq 维护序列 线段树
    RT-Thread开篇
  • 原文地址:https://www.cnblogs.com/luohuasheng/p/9549386.html
Copyright © 2011-2022 走看看