首页 > 编程知识 正文

java内部类(JAVA接口)

时间:2023-05-03 17:57:36 阅读:81569 作者:2410

许多常见的问题包括抽象类和接口的区别、在什么情况下使用抽象类以及在什么情况下使用接口。 本文将详细介绍这些主题。

在讨论它们的差异之前,让我们先来看看抽象类、接口各自的特性。

抽象类

抽象类用于捕捉子类的一般特性。 无法实例化,只能作为子类的超类使用。 抽象类是用于创建继承层次结构中的子类的模板。 以JDK的通用servlet为例。

publicabstractclassgenericservletimplementsservlet,ServletConfig,Serializable {

//abstract方法

abstractvoidservice (服务器请求响应);

void init ()。

//its实施

}

//othermethodrelatedto servlet

}

http servlet类在继承通用servlet时实现了以下servlet方法:

publicclasshttpservletextendsgeneric servlet {

服务(服务器请求,服务器响应)。

//实施

}

protectedvoiddoget (http服务器请求,http服务器响应) {

//实施

}

protectedvoiddopost (http服务器请求响应,http服务器响应响应) {

//实施

}

//someothermethodsrelatedtohttp servlet

}

接口

接口是抽象方法的集合。 如果实现了具有类的接口,则继承该接口的抽象方法。 这就像合同模型,要实现这个接口,必须切实使用这些方法。 接口只是一种形式,接口本身什么也做不了。 以可扩展接口为例。

publicinterfaceexternalizableextendsserializable {

建筑物外部(对象输出) throws io执行;

voidreadexternal (对象信息表达) throws io表达,分类;

}

结实的蚂蚁要实现这种界面,就需要实现以上两种方法。

publicclassemployeeimplementsexternalizable {

英特尔员工id;

字符串员工名称;

@Override

公共建筑外部(对象信息技术,类别)。

employeeId=in.readInt (;

员工名称=(字符串) in .读对象);

}

@Override

公共出口外部(对象输出) throws io执行{ }。

写入int (雇员id;

out.writeobject (员工名称;

}

}

比较抽象类和接口

何时使用抽象类和接口

如果您有多种方法,并且想让其中一些实现缺省实现,那么就使用抽象类吧。 如果想实现多重继承,就必须使用接口。 由于Java不支持多个继承,所以子类不能继承多个类,但可以实现多个接口。 可以使用接口解决。 如果基本功能不断变化,则必须使用抽象类。 如果要不断更改基本功能并使用接口,则必须更改实现该接口的所有类。

Java8缺省方法和静态方法

Oracle试图在接口中引入缺省方法和静态方法,以减少抽象类和接口之间的差异。 现在,您可以为接口提供缺省实现方法,而不需要强制子类实现。 关于这样的内容,将在今后的文章中叙述。

来源: https://dwz.cn/0MUS3wxk作者: Java团长

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。