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

    抽象类定义
    1、语法定义:
    抽象类钱使用abstract关键字修饰,则该类为抽象类。
    2、应用场景:
    a、在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法
    (抽象类约束子类必须有哪些方法,但并不关注子类怎么去实现这些方法。)
    b、从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性。
    3、作用:
    限制规定子类必须实现某些方法,但不关注实现细节。
    4、使用规则:
    a、abstract定义抽象类
    b、abstract定义抽象方法,只有声明,不需要实现
    c、包含抽象方法的类是抽象类
    d、抽象类中可以包含普通的方法,也可以没有抽象方法
    e、抽象类不能直接创建,可以定义引用变量

    (注:抽象方法没有方法体,以分号结束。)

    1 package com.imooc;
    2 
    3 public abstract class Telphone {
    4     public abstract void call();
    5     public abstract void message();
    6 }
     1 package com.imooc;
     2 
     3 public class CellPhone extends Telphone {
     4 
     5     @Override
     6     public void call() {
     7         // TODO Auto-generated method stub
     8         System.out.println("通过键盘打电话");
     9     }
    10 
    11     @Override
    12     public void message() {
    13         // TODO Auto-generated method stub
    14         System.out.println("通过键盘发短信");
    15 
    16     }
    17 
    18 }
     1 package com.imooc;
     2 
     3 public class SmartPhone extends Telphone {
     4 
     5     @Override
     6     public void call() {
     7         // TODO Auto-generated method stub
     8         System.out.println("通过语音打电话");
     9     }
    10 
    11     @Override
    12     public void message() {
    13         // TODO Auto-generated method stub
    14         System.out.println("通过语音发短信");
    15     }
    16 
    17 }
     1 package com.imooc;
     2 
     3 public class Initial {
     4 
     5     public static void main(String[] args) {
     6         // TODO Auto-generated method stub
     7         Telphone tel1 = new CellPhone();
     8         tel1.call();
     9         tel1.message();
    10         Telphone tel2 = new SmartPhone();
    11         tel2.call();
    12         tel2.message();
    13     }
    14 
    15 }
  • 相关阅读:
    xshell 使用命令上传、下载文件
    linux extglob模式 和rm反选,除了某个文件外的其他文件全部删除的命令
    vscode
    win10文件夹共享
    jquery-自适应全屏背景轮播动画
    jquery-抖动图组轮播动画
    jquery-leonaScroll-1.2-自定义滚动条插件
    jquery-leonaScroll-1.1-自定义滚动条插件
    JavaScript-JQ实现自定义滚动条插件1.0
    JavaScript-JQ初探实现自定义滚动条
  • 原文地址:https://www.cnblogs.com/100thMountain/p/5402004.html
Copyright © 2011-2022 走看看