Java基础----面向对象编程OOP之七 抽象类

15.抽象类

  • 抽象类和抽象方法

    • 抽象类:abstract修饰符声明的类。
    • 抽象方法:abstract修饰符声明的方法。
  • 抽象类: abstract class

    • 抽象类不能用来实例化对象(不能使用new来创建对象!),声明抽象类的唯一目的是为了将来对该类进行扩充,它是用来让子类继承的。
    • 抽象类中包含的方法可以是抽象方法,也可以是非抽象方法
    • 如果一个类包含抽象方法,那么该类一定要声明为抽象类
  • 抽象方法: abstract method

    • 抽象方法是一种没有任何实现的方法,该方法的具体实现由子类提供
    • 抽象方法不能被声明成 static 和 final
    • 任何继承抽象类的子类必须实现父类的所有抽象方法,除非该子类也声明是抽象类
    • 包含抽象方法的类必须声明为抽象类。但抽象类可以不包含抽象方法
    • 抽象方法的声明以分号结尾,没有方法体。如: public abstarct sampMethod();
    //abstract class:抽象类
    //抽象类是用来extends的,java支持单继承,不支持多继承! (接口interface可以多继承!)
    public abstract class Abstclass {
        //抽象方法:声明一个方法,但不写方法的实现。用于约束此类的方法,让其他人来实现!
        public abstract void doSomething();
        //非抽象方法 
        public void playSomething(){
            System.out.println("AbsClass playSomething~~~");    
        }
        //抽象类构造器
        public AbstClass() {
            System.out.println("抽象类AbstClass的构造方法");
        }
    }
    
    //子类继承自一个抽象类,就必须实现该父类的所有抽象方法!除非子类也声明为abstract类
    public class SubClassA extends Abstclass{
        @Override
        public void doSomething() {
            System.out.println("SubClassA doSomething~~~");
        }
    }
    
    //继承自抽象类的子类,如果声明为abstract类,父类的抽象方法可以不用实现!当然也可以实现
    public abstract class SubClassB extends AbstClass {}
    

    ------------------------------“笔记整理自跟着《狂神说Java》”----------------------------------​​

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值