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

    什么是抽象类?

    方法功能声明相同,但方法功能主体不同。那么这时也可以抽取,但只抽取方法声明,不抽取方法主体。那么此方法就是一个抽象方法。

    抽象类的特点?

    1、抽象类和抽象方法都需要被abstract修饰。抽象方法一定要定义在抽象类中。

    2、抽象类不可以直接创建对象,原因:调用抽象方法没有意义。

    3、只有覆盖了抽象类中所有的抽象方法后,其子类才可以创建对象。否则该子类还是一个抽象类。

    之所以继承抽象类,更多的是在思想,是面对共性类型操作会更简单。

    抽象类方法的定义?

    当定义了抽象函数的类也必须被abstract关键字修饰,被abstract关键字修饰的类是抽象类。

    抽象类定义格式: abstract class 类名

    抽象方法格式: public abstract 返回值类型 方法名(参数)

    1 package com.oracle.demo02;
    2 
    3 public abstract class Emp {   //定义Emp是个抽象类员工类
    4     public abstract void work();    //员工都有工作,但是具体干什么不好说明白,定义工作为抽象方法让子类去定义具体做什么
    5 }
    1 package com.oracle.demo02;
    2 
    3 public   class yanfabu extends Emp {    //创建了一个研发部当做员工类的子类,但是研发部里也有好多人具体干什么说不清,就不给描述,空方法再细分
    4     public void work(){
    5     }
    6 }
     1 package com.oracle.demo02;
     2 
     3 public  class anzhuo extends yanfabu {   //安卓继承了研发部类,具体描述工作做什么。
     4     private int id;
     5     private String name;
     6     public void setId(int id){
     7         this.id = id;
     8     }
     9     public int getId(){
    10         return id;
    11     }
    12     public void setName(String name){
    13         this.name = name;
    14     }
    15     public String getName(){
    16         return name;
    17     }
    18     public void work(){
    19         System.out.print("编号"+id);
    20         System.out.print("	姓名"+name);
    21         System.out.println("	做安卓淘宝手机客户端");
    22     }
    23 }

    抽象类的小细节

    1、抽象类一定是个父类?

    是的,因为不断抽取而来的。

    2、抽象类中是否可以不定义抽象方法。

    是可以的,那这个抽象类的存在到底有什么意义呢?不让该类创建对象,方法可以直接让子类去使用

  • 相关阅读:
    设计模式读书笔记
    effective_c++(第三版)读书笔记
    CS-Notes 操作系统读书笔记
    数据库笔记
    后台开发核心技术与应用读书笔记
    python3.7安装numpy pandas失败的处理方案
    线段树模板
    KMP算法
    离散实验——欧拉图的判定和应用
    堆排序算法及其实现
  • 原文地址:https://www.cnblogs.com/wangrongchen/p/9055559.html
Copyright © 2011-2022 走看看