抽象类&接口

抽象类
abstract修饰的类就是抽象类,abstract修饰的方法就是抽象方法,抽象方法是没有方法体的;
抽象类中可以包含抽象方法,抽象类不能实例化,必须由子类继承,并实现抽象方法,才能使用;
抽象类与普通类的不同之处:一、抽象类有抽象方法,普通类没有;二、抽象类的构造器是供子类调用的,不能用于创建对象,普通类可以通过构造器实例化;

接口

public interface OnLoadDateListener {
    int a = 7;//被隐式地指定为public static final
    void changeNumber(int b);//被隐式地指定为public abstract方法
    void setTextviewString(String textviewString);
    void setButtonString(String buttonString);
}

接口中成员变量是可以直接 OnLoadDateListener.a来使用,且不能修改a的值,因此成员变量a是public static final;
接口中只能是抽象方法,实现接口的类必须实现该接口中所有的抽象方法,否则必须将该类声明为abstract类,不然会报错;

abstract
抽象类是一定要被继承的,抽象方法是一定要被子类实现或重写,而final修饰的类不能被继承,final修饰的方法也不能被重写,因此abstract和final不能同时使用;
抽象方法必须是子类实现,因为不能是private修饰的,因此abstract和private不同同时使用;
抽象方法没有方法体,具体实现是由子类决定,若直接由static修饰,可以直接通过父类名.方法名调用,但没有方法体,因此abstract和static不能同时使用;
abstract不能修饰构造器;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值