zoukankan      html  css  js  c++  java
  • 【java基础】抽象类和抽象方法

    抽象方法就是加上abstract关键字,然后去掉大括号,直接分号结束。public abstract void eat();
    抽象类抽象方法所在的类,必须是抽象类才行。在class之前写上abstract即可。

    如何使用抽象类和抽象方法:
    1. 不能直接创建new抽象类对象。
    2. 必须用一个子类来继承抽象父类。
    3. 子类必须覆盖重写抽象父类当中所有的抽象方法。
    覆盖重写(实现):子类去掉抽象方法的abstract关键字,然后补上方法体大括号。
    4. 如果子类没有完全覆写父类的抽象方法,那么子类也是一个抽象类
    5.创建子类对象进行使用。

    public abstract class Animal {
        public abstract  void  eat();
        public abstract  void  sleep();
    }
    =====================
    public abstract  class Dog extends  Animal{ //因为子类没有完全覆写父类的抽象方法,因为子类也是一个抽象类
        @Override
        public void eat() {
            System.out.println("够吃骨头");
        }
    }
    =============================
    public class Goden extends  Dog {
        @Override
        public void sleep() {
            System.out.println("金毛睡姿");
        }
    
        public void talk(){
            System.out.println("金毛叫");
        }
    }
    ==========================
    public class TaiDi extends  Dog{
        @Override
        public void eat() {
            super.eat();
            System.out.println("泰迪吃饭");
        }
    
        @Override
        public void sleep() {
            System.out.println("泰迪睡姿");
        }
    }
    ============================
    public class DemoAbstract {
        public static void main(String[] args) {
            // Animal one =new Animal() //错误写法,抽象类不能实例化对象
              Goden one= new Goden();
              one.sleep();//金毛睡姿
              one.talk(); //金毛叫
              one.eat(); //狗吃骨头
    
              TaiDi two= new TaiDi();
              two.eat(); //狗吃骨头,泰迪吃饭
              two.sleep(); //泰迪睡姿
            }
        }
    

      

  • 相关阅读:
    POJ1661 Help Jimmy
    POJ2533 Longest ordered subsequence
    数字三角形
    第四章 指令系统
    栈和队列
    第三章 存储器的层次结构
    线性表—概念总结及代码示例
    数据的表示和运算
    计算机系统概述
    树-概念性总结及代码示例
  • 原文地址:https://www.cnblogs.com/paulwinflo/p/12957762.html
Copyright © 2011-2022 走看看