抽象类概述

抽象:

为什么要引入这个概念?在以后工作进行项目开发时,因为一个项目不可能是只有一个人在写,一定是多人共同开发,因此在写有共性的方法时,每个人的方法名或者参数都可能不一样,因此要在父类中规定抽象方法。

抽象类(abstract)

抽象方法: 将共性的行为(方法)抽取到父类之后,由于每一个子类执行的内容是不一样,所以,在父类中不能确定具体的方法体。该方法就可以定义为抽象方法。

抽象类: 如果一个类中存在抽象方法,那么该类就必须声明为抽象类

抽象类和抽象方法格式:

  public abstract 返回值类型 方法名(参数列表)

  public abstract class 类名()

注意事项:

当类中有抽象方法时,该类必须为抽象类,不然会报错;但是如果该类为抽象类,类中可以有非抽象方法。

当子类继承抽象父类时,必须重写父类中所有的抽象方法,不然会报错。

抽象方法不可以有方法体。

小案例

 1.抽取共性将其封装到父类JAVABEAN中

public abstract class Animal { // 因为有抽象方法所以必须要为抽象类


    private String name ;
    private int age;


    public Animal() {
    }

    public Animal(String name, int age) {
        this.name = name;
        this.age = age;
    }

    /**
     * 获取
     * @return name
     */
    public String getName() {
        return name;
    }

    /**
     * 设置
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取
     * @return age
     */
    public int getAge() {
        return age;
    }

    /**
     * 设置
     * @param age
     */
    public void setAge(int age) {
        this.age = age;
    }

    public String toString() {
        return "Animal{name = " + name + ", age = " + age + "}";
    }
    public void drink()
    {
        System.out.println("喝水");
    }
    public abstract void eat(); //抽象方法

}

2.子类JAVABEAN

 

 

 3.最终测试类

 测试结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值