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

    抽象类的概念

      有抽象方法的类就是抽象类,用abstract修饰

    抽象方法的概念

      只有方法声明,没有方法体的方法。用abstract修饰

    抽象方法的由来

      当需要定义一个方法,却不明确方法的具体实现时,可以将方法定义为avstract,具体实现延迟到子类

    抽象类的特点

       修饰符:必须用abstract关键字修饰

           格式:修饰符 abstract class 类名{} (pubilc avostract calss animal{})

              修饰符 abstract 返回类型 方法名{}  (public avstract void eat();)

      抽象类不能被实例化,只能创建子类对象

        抽象类怎么实例化呢?

        可以同过创建其子类对象来完成初始化操作

      抽象类子类的两个选择

      • 如果是普通类,则需要重写父类的所有抽象方法
      • 如果是抽象类,则不用

    抽象类成员的特点  

    • 成员变量

        可以有普通的成员变量(可以被修改)

        也可以有成员常量(final)(不可被修改)

    • 成员方法

        可以有普通方法,也可以有抽象方法

        抽象类不一定有抽象方法,有抽象方法的类一定是抽象类(或接口)

    • 构造方法

        像普通类一样有构造方法,且可以重载

    代码演示:

      首先定义一个抽象类

    package dome3;
    //抽象类
    public abstract class Aaimal {
        //抽象方法
        public abstract void eat();
    }

      创建一个类继承自这个抽象类

    package dome3;
    
    public class Dog extends Aaimal{   //普通类继承抽象类,必须要重写抽象类中的方法    需要注意的是,抽象类继承抽象类,则不需要重写
    
        @Override
        public void eat() {
            System.out.println("啃骨头"); 
        }
    }

       测试类

    package dome3;
    
    public class Test {
        public static void main(String[] args) {
            Aaimal an = new Dog();    //通过多态创建类对象
            an.eat();  //调用类中的方法
        }
    }
  • 相关阅读:
    Html禁止粘贴 复制 剪切
    表单标签
    自构BeanHandler(用BeansUtils)
    spring配置中引入properties
    How Subcontracting Cockpit ME2ON creates SD delivery?
    cascadia code一款很好看的微软字体
    How condition value calculated in sap
    Code in SAP query
    SO Pricing not updated for partial billing items
    Javascript learning
  • 原文地址:https://www.cnblogs.com/zxy6/p/14236225.html
Copyright © 2011-2022 走看看