Java抽象类abstract和interface接口
Posted ixinfu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java抽象类abstract和interface接口相关的知识,希望对你有一定的参考价值。
abstract抽象类
抽象类特点:
- 抽象类和抽象方法必须使用 abstract 关键字修饰
//抽象类的定义 public abstract class 类名 { //抽象方法的定义 public abstract void eat(); }
- 抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类
- 抽象类不能实例化
抽象类如何实例化?参照多态的方式,通过子类对象实例化,这叫抽象类多态
java Animal a = new Animal();X Animal a = new Cat();√
- 抽象类的子类:要么重写抽象类中的所有抽象方法、要么是抽象类
抽象类成员特点:
- 成员变量
可以是变量
也可以是常量
- 构造方法
有构造方法,但是不能实例化
那么,构造方法的作用是什么呢?用于子类访问父类数据的初始化
- 成员方法
可以有抽象方法:限定子类必须完成某些动作
也可以有非抽象方法:提高代码复用性
interface接口
-
接口就是一种公共的规范标准,只要符合规范标准,可以通用。
-
Java中的接口更多的体现在对行为的抽象!
接口用关键字interface修饰:
public interface 接口名 {}
类实现接口用implements表示:
public class 类名 implements 接口名 {}
接口不能实例化
接口如何实例化呢? 参照多态的方式,通过实现类对象实例化,这叫接口多态。
Jumpping j = new Cat();
接口的子类
- 要么重写接口中的所有抽象方法
- 要么子类也是抽象类:
public abstract class Dog implements Jumpping {}
接口的成员特点
- 成员变量
只能是常量 默认修饰符:public static final - 构造方法
没有,因为接口主要是扩展功能的,而没有具体存在
一个类如果没有父类,默认继承自Object类
public class InterImpl extends Object implements Inter {}
接口成员方法
只能是抽象方法,默认修饰符:public abstract
以上是关于Java抽象类abstract和interface接口的主要内容,如果未能解决你的问题,请参考以下文章
Java中接口(interface)和抽象类(abstract)的区别
Java中抽象类和接口的区别(abstract class VS interface)
抽象类(abstract class)和接口(interface)Java面试题