zoukankan      html  css  js  c++  java
  • Java 抽象类

    Java中抽象类的应用场景

      1、在某些情况下,某个父类只是知道其子类应该包含怎样的方法,

        但是无法准确知道这些子类如何实现这些方法(父类不关心子类如何实现这些方法)。

      2、从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,

        从而避免了子类设计的随意性。

    抽象类的作用

      限制子类必须实现某些方法,但不关注实现细节。

    抽象类使用规则

      1、abstract 关键字来定义抽象类

      2、abstract 关键字来定义抽象方法,只声明,不实现

      3、包含抽象方法的类是抽象类

      4、抽象类中可以包含普通的方法,也可以没有抽象方法

      5、抽象类不能直接实例化,可以定义引用变量

    示例代码

      定义抽象类

    public abstract class TelPhone {
        
        // 抽象方法,必须在子类中实现
        public abstract void call();    
        public abstract void message(); 
        
        // 普通方法,可以不用在子类中实现
        public void www() {
            System.out.println("电话可以上网");
        }
    }

      定义子类1

    public class CellPhone extends TelPhone{
        @Override
        public void call() {
            System.out.println("通过键盘来打电话");
        }
    
        @Override
        public void message() {
            System.out.println("通过键盘来发短信");
        }
    
        @Override
        public void www() {
            super.www();
        }
    }

      定义子类2

    public class SmartPhone extends TelPhone {
        @Override
        public void call() {
            System.out.println("通过语音来打电话");
        }
    
        @Override
        public void message() {
            System.out.println("通过语音来发短信");
        }
    }

      定义测试接口

    public class Initial {
        public static void main(String[] args) {
            TelPhone tel1 = new CellPhone();
            tel1.call();
            tel1.message();
            tel1.www();
    
            TelPhone tel2 = new SmartPhone();
            tel2.call();
            tel2.message();
        }
    }

      

  • 相关阅读:
    葡萄城报表介绍:Web 报表
    葡萄城报表介绍:B/S 报表软件
    深入解析 ERP 计划的各个层次
    大数据商业智能的十大戒律
    活字格企业 Web 应用生成器新手上路指南
    ERP 实施执行力提高的障碍,看看你中了几招?
    11招教你做好 ERP 系统维护
    使用yum命令安装lamp和lnmp
    yii2文件上传
    yii2.0使用ActionForm创建表单
  • 原文地址:https://www.cnblogs.com/vincenshen/p/10053669.html
Copyright © 2011-2022 走看看