首页 > 编程语言 >Java学习笔记(十一)

Java学习笔记(十一)

时间:2023-05-08 16:02:48浏览次数:42  
标签:十一 Java 实现 子类 接口 笔记 抽象类 方法

 

1、请描述abstract class 和interface的区别?

(1)实现方式

抽象类是一个类,可以像普通类一样拥有属性和方法,但是它的部分方法没有具体实现,需要由子类来实现。抽象类使用关键字abstract来定义。在Java中,一个类只能继承一个抽象类。

接口没有属性,只有方法和常量,所有的方法都是抽象的,没有具体实现。接口使用关键字interface来定义。在Java中,一个类可以实现多个接口。

(2)实现方式的影响

由于Java不支持多重继承,所以如果一个类继承了一个抽象类,它就不能再继承其他类了。但是,一个类可以实现多个接口,从而达到类似多重继承的效果。

另外,抽象类可以包含具体的方法实现,而接口中只能包含抽象方法和常量。这意味着,如果我们需要在多个类中共用一些方法的实现,可以将这些方法放在抽象类中,而不是接口中。

(3)设计目的

抽象类的设计目的是为了提供一种基础类,它的子类可以继承这些基础方法和属性,并实现自己特定的方法和属性。抽象类常用于定义模板方法,即父类定义好算法框架,而具体的实现由子类来完成。

接口的设计目的是为了定义一组公共的方法和常量,以便实现类可以按照这些方法和常量来进行编写。接口常用于实现多态和解耦合。

 

2、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?

是。可以。可以。

 

3、请描述你理解的模板方法设计模式?

当功能内部一部分实现是确定的,一部分实现是不确定的。这时可以

把不确定的部分暴露出去,让子类去实现。

将代码不变部分封装在父类中,保证了代码的一致性和可维护性,同时将可变的部分留给子类来实现,保证了代码的灵活性和可扩展性。

抽象类(Abstract Class):定义算法框架,包含一系列抽象方法和具体方法,其中抽象方法由子类来实现。

具体类(Concrete Class):实现抽象类中的抽象方法,并在具体方法中调用抽象方法,从而完成算法的实现

 

标签:十一,Java,实现,子类,接口,笔记,抽象类,方法
From: https://www.cnblogs.com/wgh123/p/17382025.html

相关文章

  • Hudi学习笔记5 - Hudi配置分析(1)
    Hudi官方配置文档:https://hudi.apache.org/docs/configurations,从源码分析可以看到配置项hoodie.payload.ordering.field已经废弃,取而代之的是hoodie.datasource.write.precombine.field。ConfigPropertyConfigProperty聚合了HoodieConfig。//https://github.com/apac......
  • Hudi学习笔记4 - Hudi配置之Spark配置
    SparkDatasourceConfigs读配置配置项是否必须默认值配置说明as.of.instantYN/A0.9.0版本新增,时间旅行查询从哪儿开始,有两种格式的值:yyyyMMddHHmmss和yyyy-MM-ddHH:mm:ss,如果不指定则从最新的snapshot开始hoodie.file.index.enableNtruehoodie.......
  • 直播系统搭建,java二维码 生成二维码
    直播系统搭建,java二维码生成二维码 packageBasicsTest;importcom.swetake.util.Qrcode;importjavax.imageio.ImageIO;importjava.awt.*;importjava.awt.image.BufferedImage;importjava.io.File;/***二维码生成 *Createdbyxson2017/2/6. */publicclassQRCode......
  • java web乱码问题
    在javaweb项目中引起乱码的几个地方1.tomcat配置文件server.xml <Connectorport="8080"protocol="HTTP/1.1"URIEncoding="GBK"connectionTimeout="20000"redirectPort="8443"/>2.在web.xml配置拦截器......
  • 31基于java的旅游信息系统设计与实现
    本章节来给大家介绍一个基于java的旅游信息系统设计与实现系统概要旅游产业的日新月异影响着城市,村镇旅游产业的发展变化。网络、电子科技的迅猛前进同样牵动着旅游产业的快速成长。随着人们消费理念的不断发展变化,越来越多的人开始注意精神文明的追求,而不仅仅只是在意物质消......
  • JavaScript: XMLHTTPRequest
     XMLHttpRequest(javascript.info)<body><script>//CreateanewXMLHTTPRequestobjectletxhr=newXMLHttpRequest()xhr.timeout=5000//timeoutinmsleturl=newURL('https://cursive.winch.io/......
  • Java - JVM
    JVM的位置JVM的体系结构      JVM的位置 JVM的体系结构 ......
  • java--Servlet以及Mvc的实现
    ServletServlet的生命周期Servlet的生命周期可以分为四个步骤:实例化。当Web容器(如Tomcat)启动时,会首先加载Servlet类,并创建Servlet实例。这一过程通常在应用程序启动时完成。初始化。接着容器会调用Servlet实例的init()方法来进行初始化操作。在这个方法中,通......
  • java泛型'T'与'?'基本知识
    从事了几年的开发工作,一直都是在有道云或者百度网盘上记录日常工作中的一些问题和经验,难以分享知识。这是第一次发博客随笔,以便后期与喜欢技术的大家一起进步;结论:'T'指的是某一类具体的对象,'?'可以表示成占位符,表明多种数据类型;示例:可以看到show1方法中我们使用了T,大家都知道......
  • Java泛型
    泛型使用泛型的本质是参数化类型1、List<T>{}publicclassHashSet<E>{}T和E必须是引用类型不能是基本类型2、使用List<Integer>list=newArrayList<Integer>();//后面可以直接缺省java编译器会帮我们自动推断List<Integer>list=newArrayList<>();3、如果不写......