JavaBacis-抽象类

该博客围绕Java抽象类展开,介绍了什么是抽象类,阐述了编写抽象方法和抽象类的方式,还说明了抽象类的意义,并给出抽象类及主要实现类的代码块。

java抽象类

1)什么是抽象类
在程序实际运行中不存在对象的类就是抽象类
暂时无法实现的方法
2)编写抽象方法
2.1)在方法的返回值类型前编写 abstract
2.2)抽象方法没有方法体
//抽象方法
public abstract void show();
2.3) 继承抽象类的子类必须重写
     抽象类中的抽象法办法
     除非子类也是抽象类
2.4) 抽象方法必须在抽象类中
2.5) final 和 abstract 是矛盾关键字
     能同时修饰类或方法
3)编写抽象类
2.1)在 class 前编写 abstract 关键字
2.2)抽象类不能实例化
2.3)抽象类中能编写抽象方法
2.4)抽象方法的数量不限(0-无数)
3)抽象类的意义
3.1)将没有意义的对象从程序中抽离
    减少程序的复杂度 
3.2)抽象类中的抽象方法不用编码,提高效率
3.3)更自然的使用向上造型/重写父类
代码块
抽象类
package com.arron.day05.hw;

/**
 * @author arron
 * @create 2019-06-18 16:24
 */
public abstract class Pet {
    protected String name;
    protected int age;

    public Pet() {
    }

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

    //抽象方法
    public abstract void show();

}

class Dog extends Pet{
    //品种
    private String stain;

    public Dog() {

    }

    public Dog(String name, int age, String stain) {
        super(name, age);
        this.stain = stain;
    }

    @Override
    public void show() {
        System.out.println("名字: "+name+",年龄: "+age+",品种: " +stain);
    }

}
主要实现类
package com.arron.day05.hw;

/**
 * @author arron
 * @create 2019-06-18 16:42
 */
public class TestDemo {
    public static void main(String[] args) {
        //抽象类不能实例化
        //Pet p = new Pet();
        Pet p = new Dog("旺财",1,"金毛");
        p.show();
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值