龙空技术网

Java之路-08抽象类与接口

神马程序猿 138

前言:

现在各位老铁们对“抽象类中的方法必须都是抽象方法对吗”都比较关怀,各位老铁们都想要剖析一些“抽象类中的方法必须都是抽象方法对吗”的相关资讯。那么小编在网摘上网罗了一些关于“抽象类中的方法必须都是抽象方法对吗””的相关知识,希望同学们能喜欢,大家快快来了解一下吧!

一、抽象类

没有方法体的方法是抽象方法,包含抽象方法的类就是抽象类。

使用abstract修饰的方法就是抽象方法,使用abstract修饰的类就是抽象类。

public abstract void run();

public abstract class Animal {

public abstract void run();

}

继承抽象类的子类必须重写父类所有的抽象方法。否则,该子类也必须声明为抽象类。

抽象类也无法创建对象,只能创建其非抽象子类的对象。

抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的。

抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类。

二、接口

接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法(JDK 9)。

接口定义使用interface关键字,使用implements失效接口类似与extends

public interface 接口名称 {

// 抽象方法

// 默认方法

// 静态方法

// 私有方法

}

class 类名 implements 接口名 {

// 重写接口中抽象方法【必须】

// 重写接口中默认方法【可选】

}

接口的多实现

一个类是可以实现多个接口的,多个接口有多个抽象方法时,实现类必须重写所有抽象方法。如果抽象方法有重名的,只必须重写一次。如果默认方法有重名的,必须重写一次。

此外接口还有一下特点

接口中,无法定义成员变量,但是可以定义常量,其值不可以改变,默认使用public static final修饰。

接口中,没有构造方法,不能创建对象。

接口中,没有静态代码块。

标签: #抽象类中的方法必须都是抽象方法对吗