zoukankan      html  css  js  c++  java
  • Java中抽象类概述

    抽象类

    1.抽象类的定义

        抽象类是为子类提供一个规范,这就必须联系到继承;

        抽象类的制定就是让子类继承的;

             

          public abstract 类名{

            //类体

            //抽象方法

            修饰符 abstract 返回值类型 方法名(参数列表);

            }

        *抽象方法没有方法体:public abstract void test();

        **普通方法有方法体:public  void test(){//方法体};

        (1)定义一个类,如果这个类是抽象类,那么这个类中至少含有一个抽象方法;

        (2)再抽此昂类中的方法不一定是抽象方法,但含有抽象类的方法一定是抽象类

    2.抽象类的使用

          @Override用来检测是否重写成功

              我们可以在抽象类中添加未实现的方法(抽象方法)

          (1)一个类继承了抽象类,就必须重写该抽象类的所有抽象方法

                     (2)如果有一个类没有重写抽象类的抽象方法,那么这个类也要重新定义为抽象类

    示例代码:

    package com.java1995;
    /**
    * 猫科动物类
    * @author ideaor
    *
    */
    public abstract class Feline {

    private int legCount=4;
    private String headShape="round";
    private boolean meatEater=true;
    /**
    * 普通方法,动物呐喊
    */
    public void cry(){
    System.out.println("动物在狂吼");
    }
    /**
    * 抽象方法,捕食
    * @param animal
    */
    public abstract void catchAnimal(Animal animal);

    }

    package com.java1995;

    public class Animal {

    }

    package com.java1995;

    public class Tiger extends Feline{
    /**
    * 老虎
    */

    @Override
    public void catchAnimal(Animal animal) {
    // TODO Auto-generated method stub
    System.out.println("老虎在捕食");

    }

    }

    package com.java1995;

    public class Cat extends Feline {

    @Override
    public void catchAnimal(Animal animal) {
    // TODO Auto-generated method stub
    //首先要判断捕食的animal是否是老鼠,如果是,可以捕食
    if (animal instanceof Mouse){
    System.out.println("猫正在捕食老鼠");
    }
    else
    System.out.println("猫不能捕食");
    }

    }

    package com.java1995;

    public class Mouse extends Animal{

    }

  • 相关阅读:
    新概念4-16
    答疑汇总-02
    理解Marx-8 9 10晚年的思考 马恩关系再认识 一段思想史的公案
    nefu 116
    nefu 115
    【JZOJ3379】查询【主席树】
    【JZOJ1782】Travel【分层图最短路】
    【洛谷P4550】收集邮票【期望概率】
    【洛谷P1001】A+B Problem
    【JZOJ3339】wyl8899和法法塔的游戏【暴力】
  • 原文地址:https://www.cnblogs.com/isit/p/6740146.html
Copyright © 2011-2022 走看看