类
Java是面向对象的编程语言,类是对象的结构框架,类中定义了对象的成员变量和方法,此外还可以有类本身的静态变量和方法。
类可以被继承,每一次继承中,子类只能有一个直接的父类,但是可以有多层继承的关系。
抽象类
抽象类是一种特殊的类,抽象类不能用来创建对象,但抽象类可以有构造函数,抽象类需要被继承,可以使用其非抽象子类来创建对象。
若一个类中含有抽象方法,则该类必须声明为抽象类;反之,若一个类声明为抽象类,该类不一定有抽象方法,声明这种抽象类的目的在于使其不能用来创建对象。
构造方法,类方法(用 static 修饰的方法)不能声明为抽象方法。
接口
接口并不是类,接口中的方法只能是抽象方法,接口不能用来创建对象,接口可以被接口多继承,但最终需要被类实现,实现需要使用关键字implements。
- 接口中每一个方法也是隐式抽象的,接口中的方法会被隐式的指定为 public abstract(只能是 public abstract,其他修饰符都会报错)。
- 接口中可以含有变量,但是接口中的变量会被隐式的指定为 public static final 变量(并且只能是 public,用 private 修饰会报编译错误)。
- 接口中的方法是不能在接口中实现的,只能由实现接口的类来实现接口中的方法。
总结
类 | 抽象类 | 接口 | |
---|---|---|---|
创建对象 | 能 | 不能 | 不能 |
构造函数 | 有 | 有 | 没有 |
成员变量 | 有 | 有 | 没有 |
成员方法 | 有 | 有 | 没有 |
类变量 | 有 | 有 | 只能用public static final修饰 |
类方法 | 有 | 有 | 没有 |
继承 | 单继承 | 单继承 | 多继承 |
实现 | - | - | 一个类可实现多个接口 |
参考资料
Java基础 接口和抽象类
Java 抽象类
Java 接口
网友评论