zoukankan      html  css  js  c++  java
  • Java基础00-抽象类20

    1. 抽象类

    1.1 抽象类概述

     

    代码示例:
    没有{}大括号的方法就是一个没有方法体的方法,要把它定义成抽象方法,就要给它加一个abstract关键字,而类中有抽象方法,该类也必须是一个抽象类,所以给类也加一个abstract关键字。
    将方法体去掉是因为,动物类中的吃东西本身就是一个抽象的概念,你不知道吃的是什么东西,只知道吃东西。
    所以干脆不写,让它在子类中被子类重写,而子类比如猫,它是可以具有到吃什么东西的,“猫吃老鼠” “猫吃耗子”,都是可以的。

    1.2 抽象类的特点

     

    1.3 抽象类的成员特点

     1.4 案例:猫和狗

    public abstract class AbstractAnimal {
        private String name;
        private int age;
    
        public void setName(String name){
            this.name = name;
        }
    
        public String getName(){
            return name;
        }
    
        public void setAge(int age){
            this.age = age;
        }
    
        public int getAge(){
            return age;
        }
        public AbstractAnimal(){
            System.out.println("抽象类无参构造方法");
        }
    
        public AbstractAnimal(String name,int age){
            System.out.println("抽象类有参构造方法");
        }
    
        public abstract void eat();
    }
    public class CatExtendsAbstract extends AbstractAnimal {
        public CatExtendsAbstract(){
            super();
            System.out.println("猫子类无参构造方法");
        }
    
        public CatExtendsAbstract(String name, int age){
            super(name, age);
            System.out.println("猫子类有参构造方法");
        }
    
        public void eat(){
            System.out.println("猫吃鱼");
        }
    }
    public class DogExtendsAbstract extends AbstractAnimal {
        public DogExtendsAbstract(){
            System.out.println("狗子类无参构造方法");
        }
    
        public DogExtendsAbstract(String name, int age){
            System.out.println("狗子类有参构造方法");
        }
    
        public void eat(){
            System.out.println("狗吃骨头");
        }
    }
    public class AnimalAbstractDemo {
        public static void main(String[] args) {
            AbstractAnimal a = new CatExtendsAbstract();
            a.eat();        AbstractAnimal b = new DogExtendsAbstract();
            b.eat();
        }
    }

     输出:

    抽象类无参构造方法
    猫子类无参构造方法
    猫吃鱼
    抽象类无参构造方法
    狗子类无参构造方法
    狗吃骨头
  • 相关阅读:
    part11-1 Python图形界面编程(Python GUI库介绍、Tkinter 组件介绍、布局管理器、事件处理)
    part10-3 Python常见模块(正则表达式)
    Cyclic Nacklace HDU
    模拟题 Right turn SCU
    状态DP Doing Homework HDU
    Dp Milking Time POJ
    区间DP Treats for the Cows POJ
    DP Help Jimmy POJ
    Dales and Hills Gym
    Kids and Prizes Gym
  • 原文地址:https://www.cnblogs.com/ajing2018/p/14666510.html
Copyright © 2011-2022 走看看