zoukankan      html  css  js  c++  java
  • 【8】Java多态:抽象类(abstract关键字)

    多态的必要条件之一:子类要重写父类的方法。

    父类Animal派生的子类CatDog都可以重写eat()方法。

    如果父类Animal的eat()方法没有实际意义,但是不能直接去掉该方法,或者方法的执行语句(会出现编译错误,定义方法的时候,必须实现方法的语句)。

    如果父类的方法本身不需要实现任何功能,仅仅是为了定义方法签名,目的是让子类去重写它,那么,可以把父类的方法声明为抽象方法,并且含有抽象方法的类必须是抽象类(反之不成立):

    public  abstract class Animal {
        public abstract void eat();
    }

     

    抽象类 在类的定义前加上abstract关键字,成为一个抽象类。

    抽象方法 把一个方法声明为abstract,表示它是一个抽象方法,无方法语句,无法执行,无法被实例化。

    使用规则:

    1、关键字abstract 

    2、抽象类不能直接被实例化,只能被继承,可以通过向上转型的方式完成实例化对象

    3、abstract 不需要具体实现,不允许包含方法体,子类中需要重写父类的抽象方法

    4、包含抽象方法的类一定是抽象类 5、一个抽象方法必须定义在抽象类中,而抽象类可以没有抽象方法。

    代码

    父类Animal

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

    子类

    public  class Dog extends Animal{
        //重写父类方法
            @Override
        public void eat() {
            System.out.println("狗吃肉~~");
        }
    }    

    测试类

    public class  Test {
        public static void main(String[] args) {
            Animal a= new Dog();
            a.eat();
        }
    }
  • 相关阅读:
    PHP获取当前页面完整URL的方法
    PHP中常见的提示对照表
    PHP语言中使用JSON和将json还原成数组
    PHP中被定义为false的
    yum
    PHP中计划任务
    command shell 的知识整理
    js的包管理工具bower安装
    Shell脚本
    liunx中计算机壳层
  • 原文地址:https://www.cnblogs.com/haifeima/p/12977611.html
Copyright © 2011-2022 走看看