Java之抽象abstract关键字

abstract 概述

  • 1.用abstract关键字修饰一个类时,叫抽象类。用abstract关键字修饰一个方法时,叫抽象方法
  • 2.含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写
  • 3.抽象类不能被实例化
  • 4.抽象方法只需声明,不需实现
  • 5.继承抽象类的也能够是抽象类,重写的抽象方法仍是抽象方法

代码一发

abstract class Animal {  
        private String name;  
        Animal(String name) {  
            this.name = name;  
        }  
          
        public abstract void enjoy();  
            //System.out.println("animalshout...");  
    }  
      
    class Cat extends Animal {  
        private String eyesColor;  
        Cat(String n,String c) {  
            super(n);  
            eyesColor = c;  
        }  
          
        public void enjoy() {  
            System.out.println("catshoult...");  
        }  
    }  
      
    class Dog extends Animal {  
        private String furColor;  
        Dog(String n,String c) {  
            super(n);  
            furColor = c;  
        }  
        public void enjoy() {  
            System.out.println("dogshoult...");  
        }  
    }  
      
      
    class Lady {  
        private String name;  
        private Animal pet;  
        Lady(String name, Animal pet) {  
            this.name = name;  
            this.pet = pet;  
        }  
        public void myPetEnjoy() {  
            pet.enjoy();  
        }  
    }  
      
    public class TestTai {  
        public static void main(String[] args) {  
            Cat c = new Cat("catname", "blue");  
            Dog d = new Dog("d ogname", "black");  
              
            Lady l1 = new Lady("l1", c);  
            Lady l2 = new Lady("l2", d);  
              
            l1.myPetEnjoy();  
            l2.myPetEnjoy();  
              
              
        }  
    }
相关文章
相关标签/搜索