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("猫叫声。。。");
        }
    }
  • 相关阅读:
    通信收发单元
    WOSA协议(转)
    CcTalk (网络协议)(转)
    0x和H都表示十六进制有什么区别吗?
    select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET(转)
    &是什么运算符(转)
    NDK的Paths and Symbols设定
    android JNI调用(转)
    scrapy-redis基础和介绍
    scrapy-redis介绍(一)
  • 原文地址:https://www.cnblogs.com/seven7seven/p/3656576.html
Copyright © 2011-2022 走看看