zoukankan      html  css  js  c++  java
  • Java基础(10) | 抽象

    #什么是抽象方法

    加上abstract关键字,然后去掉方法体,直接分号结束
    抽象方法所在的类必须是抽象类才行,在class之前写上abstract即可

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

    # 注意事项

    抽象方法所在的类必须是抽象类
    抽象类不一定有抽象方法

    # 如何使用

    1.不能直接创建new抽象类对象
    2.必须先用一个子类来继承抽象父类
    3.子类必须覆盖重写抽象父类当中所有的抽象方法 //如果子类没有重写所有抽象方法,那么子类也必须是抽象的
    4.创建抽象对象

    #动物祖宗类

    package com.leerep.javabase.abstractDemo;
    
    public abstract class Animal {      //抽象类
        public Animal(){
            System.out.println("动物祖宗类抽象方法");
        }
        public abstract void eat();         //抽象方法
    }
    

    # 猫类

    package com.leerep.javabase.abstractDemo;
    
    public class Cat extends Animal {
        public Cat() {
            System.out.println("猫类抽象方法      im a cat");
        }
    
        @Override
        public void eat() {
            System.out.println("猫吃鱼");      //覆盖重写
        }
    }
    

    # 狗类

    package com.leerep.javabase.abstractDemo;
    
    public class Dog extends Animal {
        public Dog(){
            System.out.println("狗类构造方法       im a dog" );
        }
        @Override
        public void eat() {
            System.out.println("狗吃骨头");
        }
    }
    

    # Demo

    package com.leerep.javabase.abstractDemo;
    
    public class Demo {
        public static void main(String[] args) {
            Cat cat = new Cat();
            cat.eat();
    
            System.out.println("===================");
            Dog dog = new Dog();
            dog.eat();
        }
    }
    

  • 相关阅读:
    Java实现字符串的包含
    Java实现字符串的包含
    Java实现字符串的包含
    Java实现字符串的包含
    Java实现字符串的包含
    穷文富理撑死工,得先学门能挣钱的手艺
    Windows更新清理工具 (winsxs 清理工具)
    SQLite实现内存键值存储
    Qt5.7.0移植到4412
    罗辑思维2014 第11集 迷茫时代的明白人(慢慢来,能做一点是一点),有书卖
  • 原文地址:https://www.cnblogs.com/leerep/p/14389348.html
Copyright © 2011-2022 走看看