前言:
现在各位老铁们对“抽象类中的方法必须都是抽象方法对吗”都比较关怀,各位老铁们都想要剖析一些“抽象类中的方法必须都是抽象方法对吗”的相关资讯。那么小编在网摘上网罗了一些关于“抽象类中的方法必须都是抽象方法对吗””的相关知识,希望同学们能喜欢,大家快快来了解一下吧!一、抽象类
没有方法体的方法是抽象方法,包含抽象方法的类就是抽象类。
使用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修饰。
接口中,没有构造方法,不能创建对象。
接口中,没有静态代码块。
标签: #抽象类中的方法必须都是抽象方法对吗