抽象类,接口

抽象类

  • 1、使用关键字abstract来声明一个抽象类,它出现在关键字class的前面。
public abstract class Employee{
}
  • 2、抽象类无法实例化,类的功能仍然存在。
  • 3、如果一个类中含有一个抽象类方法,那这个类也必须是抽象类。
  • 4、抽象方法没有方法体。(小括号后面直接+“;”)
public abstract void age();
  • 5、任何一个子类都是可以实现父类的抽象方法或继续将它声明为抽象方法。
  • 6、任何子类都可以用super来调用父类的构造方法。

接口

  • 1、接口默认就是抽象的,声明是不需要abstract
  • 2、extends关键字用来继承一个接口,一个接口可以继承多个接口,用逗号隔开。
  • 3、接口不能包含实例变量,接口中出现的量一定是用staticfinal所修饰的常量,常量必须赋值,没有默认值。
public static final int age = 23;
  • 4、接口中的每个方法默认为抽象,所以不需要abstract关键字,接口中的方法默认是public,并且接口不能包含构造方法。
interface LivingThing {
    void live();
}
  • 5、接口不能被类继承,它应该被类实现,用implements关键字。
public class MammalInt implements Animal,Bird{
}
  • 6、不能直接实例化一个接口,须实例化实现接口的类,接口的方法必须实例化,但不是必须调用。
  • 7
    • 7.1当一个类实现一个接口的时候,你可以认为类就是签订一个条约,
      同意去执行接口中的各种行为。
    • 7.2如果一个类没有实现接口中的所有行为,
      这个类就必须声明为 abstract
abstract class dog implements Animal{
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,292评论 19 139
  • We believe that writing is about content, about what you ...
    hongXkeX阅读 4,438评论 1 1
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,894评论 18 399
  • LSP:里氏替换原则 * 原则上来讲,子类对象可以赋给父类对象,也可以说子类替换父类,并且出现在父类能过出现的任何...
    Unity开发阅读 4,919评论 0 0
  • 今天的我,或许只是他们口中的样子 何时我们已经不再有自己的影子 一切都是他人口中的他
    杨义凯阅读 929评论 0 0