zoukankan      html  css  js  c++  java
  • JAVA笔记10-抽象类

    (1)abstrac关键字类修饰的类是抽象类,用abstract修饰的方法是抽象方法;

    (2)含有抽象方法的类必须被定义为抽象类;

    (3)抽象类必须被继承,抽象方法必须被重写(或者将子类也声明为抽象类);

    (4)抽象类不能被实例化

    (5)抽象方法只需声明,不需实现。如:public abstract void enjoy();//抽象方法

    例如:JAVA笔记9中可以将Animal定义为抽象类(仅改变Animal的定义即可)。

    public class TestAnimal{
        public static void main(String args[]){
            Dog d=new Dog("dogname","black");
            Cat c=new Cat("catname","blue");
            Lady l1=new Lady("l1",c);
            Lady l2=new Lady("l2",d);
            l1.myPetEnjoy();//猫叫声。。。
            l2.myPetEnjoy();//狗叫声。。。
        }
    }
    
    class Lady{
            String name;
            Animal pet;
            Lady(String name,Animal pet){
                this.name=name;
                this.pet=pet;
            }
            void myPetEnjoy(){
                pet.enjoy();
            }
    }
    
    abstract class Animal{//抽象类
        public String name;
        Animal(String name){
            this.name=name;
        }
        abstract void enjoy();//抽象方法
    }
    
    class Dog extends Animal{
        public String furColor;
        Dog(String name,String furColor){
            super(name);
            this.furColor=furColor;
        }
        void enjoy(){
            System.out.println("狗叫声。。。");
        }
    }
    
    class Cat extends Animal{
        public String eyesColor;
        Cat(String name,String eyesColor){
            super(name);
            this.eyesColor=eyesColor;
        }
        void enjoy(){
            System.out.println("猫叫声。。。");
        }
    }
  • 相关阅读:
    Webpack2 那些路径
    Nginx alias 和 root配置
    前端代码监控
    Class和构造函数的异同
    Async和await
    如何在git中删除指定的文件和目录
    微信小程序数字转化条形码和二维码
    vue 结合swiper插件实现广告公告上下滚动的效果
    vue2.0 结合better-scroll 实现下拉加载
    FormData对象提交表单和form提交表单
  • 原文地址:https://www.cnblogs.com/seven7seven/p/3656576.html
Copyright © 2011-2022 走看看