抽象类与接口

抽象类与接口

1. 抽象

  • 一般将父类定义为抽象类
  • 在抽象类中,不可以实例化该对象,就是不能new抽象类,只能靠子类去约束它
  • abstract关键词定义的类为抽象类,使用这个关键字定义的方法为抽象方法
  • 抽象方法没有方法体,该方法没有任何实际意义,除非被重写。
  • 承载这个抽象方法的抽象类必须被继承,实际上抽象类除了被继承没有任何意义。
  • 抽象类被继承后,子类一定要重写父类的抽象方法,除非子类也是抽象类
public abstract class Parent{   //定义抽象类
    抽象方法就是一个约束~有人帮我们实现
    abstract void testAbstract()  //定义抽象方法
}
  • 只有类中有抽象方法,这个类必须得是抽象类
  • 抽象类里面可以写非抽象方法。
  • 抽象类被继承后需要实现其中所有的抽象方法,也就是子类要对抽象方法进行方法的重写。
  • 抽象类的意义:将一些特殊的属性抽象出来,再后续的继承的子类中重写该方法.提高开发效率
  • 抽象类是存在构造方法的,但不能通过实例化对象而获取,得靠子类用super来调用

2.接口

  • 在java中一个类只能继承一个父类,但为了使方法更加简便,我们就得使方法继承多个父类,因此接口就出现
  • 接口就是抽象类的延展,接口中的所有方法都没有方法体,都是靠后面子类进行方法的重写。目的是为了让不同的类实现。
  • 接口内的方法不能有方法体。
  • 接口就是相当于一个通道,你只能通过,但不能进行操作(也就是可以让方法过去,但不能对方法进行编写)
  • 接口默认方法都是public ,abstract
  • 再连接接口后,命名最后在后面加上Impl;
  • 在接口里面定义的变量为常量,默认为:public static final
  • 接口也不能被实例化,因为接口中没有构造方法
  • 在后续中必须要重写接口中的方法
接口使用interfance
    public interfance Paintable{
    void draw(String name)//定义接口方法可以省略public static 等关键字
}
  • 一个类继承了一个父类的同时也可以再实现一个接口
public class ChildImpl extends Parent implements GrandParent{
    ...
}
  • java中不允许出现多重继承,但可以使用接口可以实现多重继承。一个类可以同时实现多个接口,因此可以将所有需要继承的接口放置再implements关键字并用逗号隔开
public class 类名 implements 接口1,接口2,接口n{
    
}
  • 接口也是可以进行继承的,一个接口可以继承另一个接口
interface intf1{}
interface intf2 extends intf1{}//接口继承接口
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我要成为全栈糕手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值