首页 > 其他分享 >接口

接口

时间:2024-10-20 20:32:15浏览次数:1  
标签:实现 方法 接口 对象 拷贝 重写

什么是接口

语法:使用interface来定义

接口当中的成员变量默认是public static final的,接口中的每一个方法默认是抽象方法,

接口不能存在普通的方法,要想存在普通的只有被static和default修饰的方法,

接口不能通过new关键字进行实例话,类和接口是可以通过implements来实现关系的,接口也是可以向上转型和动态绑定的

接口是不能有构造放法和代码块

当一个类实现接口当中的方法之后,当前类当中的方法不能不加pulblic

一个接口也会产生独立的字节码文件

类没有实现接口中的所有的抽象方法,则类必须设置为抽象类

类实现一个接口,要重写接口的所有的方法

接口就是为了实现无法多继承

 

 

 实现多接口

需要先有继承之后,在实现接口,后面的接口需要用逗号隔开

 当一个类继承了另一个类,同时有实现了多个接口,如果想要实现某一个功能,只需要把接口作为参数类型定义一个方法,然后所有实现的这个接口都可以调用这个方法,而不在需要调用父类来进行,从而达到代码的灵活性

 接口的继承

当一个接口想要继承另一个接口或者多个接口时可以使用extends来实现,但是最后实现的时候,要重写所有的方法

 

Object类是所有类的父类,当你的类没有继承或者被继承,都是默认继承Object类,所有类的对象都可以使用Object的引用来接收

(toString)获取对象信息:

 

 当我们的这里没有重写toString时自动调用系统自带的

是输出对象的虚拟的全路径的地址,

 

 

当我们重写了一个toString,就相当于父类引用了一个子类对象,就发生的向上转型(原码)

输出的就是获取到的信息

 

 

对象比较equals

当我们想要比较对象的内容是否相同时可以使用equals,但是如果不重写equals使用系统自带的,系统会默认比较的是他们的一个虚拟地址

 而我们手动重写equals,就可以实现比较对象里面的内容是否相同

 

 

引用类型比较方法

自定义类型使用compareable这个接口来进入,重写compareto方法实现比较多逻辑,

 使用compareable这个接口进行比较,对类的侵入性比较强,

 

当我们想要比较比如说名字大小时,可以使用comparator,且对类的侵入性不强,代码会相对比较灵活,comparator是可以和compareable共存的

 

 

Clonable接口和深浅拷贝

object是所有子类的父类,里面包含着clone的方法,为什么不能实现克隆

1.因为访问权限的问题,protected是访问不同包子类访问是要使用super来调用,所以只能重写clone方法

2.clone方法的异常是受查异常/编译时异常,需要把throws以及后面的放在main函数后面

3.clone方法的返回值是object而我们克隆是向下转型,需要强制类型转换

4.自定义类型想要实现克隆需要实现cloneable这个接口

 

 

 

 cloneable接口是证明当前类是可以被克隆的

浅拷贝就是只拷贝了对象,并没有拷贝对象里面的对象

深拷贝:

重写拷贝方法,就是创建实例话一个临时变量的拷贝,在用这个临时变量去调用拷贝的方法,最后在返回,就可以达到拷贝对象里面的对象,同时也可以更改深拷贝对象里面的内容

写在需要拷贝的方法里面

 

标签:实现,方法,接口,对象,拷贝,重写
From: https://www.cnblogs.com/hzy7/p/18475942

相关文章

  • stm32入门教程--TIM编码器接口
    TIM编码器接口是一种重要的硬件接口,主要用于接收增量(正交)编码器的信号。以下是对TIM编码器接口的详细介绍:一、功能与作用TIM编码器接口可以接收由编码器旋转产生的正交信号脉冲。这些信号脉冲被用来自动控制一个计数器(CNT)的自增或自减,从而能够指示编码器的位置、旋转方向和......
  • 第38篇 net8接口调试方式
    .net提供了内置的接口调试方式1.新建.netcorewebapi控制台应用程序2.封装好jwt验证机制token令牌验证机制///<summary>///登录///</summary>///<paramname="request"></param>///<returns></returns>///<exceptioncref="N......
  • Chromium 中chrome.contextMenus扩展接口实现分析c++
    一、chrome.contextMenus使用 chrome.contextMenus API向GoogleChrome的上下文菜单中添加项。您可以选择从右键菜单中添加的对象类型,例如图片、超链接和页面。权限contextMenus您必须在扩展程序的清单中声明 "contextMenus" 权限,才能使用该API。此外,您应指定一个......
  • 泛型<>类 方法 接口
    泛型类:对我们=创建的类进行规范形式点击查看代码classDemo1<E>{publicvoidgetData(Ee){System.out.println("这是一串很厉害的咒语"+e);}}publicclassFanXingDemo1{publicstaticvoidmain(String[]args){Demo1<String>s=newDemo1<>();......
  • 神经技术:解码大脑与人机接口的未来
    神经技术(Neurotechnology)是一个涵盖广泛的领域,旨在研究、理解、增强或修复大脑与神经系统的功能。它结合了神经科学、工程学、计算机科学和生物技术,通过开发各种工具与技术,帮助我们更深入地理解大脑的运作机制,并为治疗神经疾病、增强人类认知能力、提升人机交互体验提供全新的......
  • json-server详细模拟GET、POST、DELETE等接口数据教程
    引言在前端开发过程中,我们经常需要在后端API尚未就绪的情况下模拟接口数据。json-server是一个强大而灵活的工具,可以帮助我们快速创建一个模拟的RESTfulAPI。本文将详细介绍如何使用json-server来模拟GET、POST、PUT、PATCH、DELETE等常用的HTTP方法,以及如何处理复杂的数......
  • 探讨亚马逊详情API接口:运用及收益
    随着电子商务的快速发展,越来越多的企业开始关注如何通过技术手段提升业务效率和竞争力。作为全球最大的电商平台之一,亚马逊提供了丰富的API接口供开发者使用,其中商品详情API接口是最为重要的一环。本文将探讨亚马逊商品详情API接口的运用及收益。一、亚马逊商品详情API接口概......
  • 解密亚马逊详情API接口:获取与运用
    解密亚马逊详情API接口涉及到访问和操作亚马逊提供的编程接口(API),以获取产品详情、价格、评价等信息。亚马逊提供了多种API服务,包括ProductAdvertisingAPI(PAAPI)和SponsoredProductsAPI等,用于不同的目的。然而,需要注意的是,使用这些API需要遵守亚马逊的开发者协议和API使用......
  • IPMI(智能平台管理接口,Intelligent Platform Management Interface)是一种行业标准的接
    IPMI(智能平台管理接口,IntelligentPlatformManagementInterface)是一种行业标准的接口规范,主要用于服务器和计算机系统的管理。它提供了硬件监控和管理功能,使管理员能够远程监控和控制计算机系统。以下是IPMI的一些主要特点和功能:主要特点硬件监控:IPMI能够监控系统的硬件状态......
  • lambda表达式之jvm提供的接口
    一、java内置函数式接口:断言式接口importjava.util.ArrayList;importjava.util.Arrays;importjava.util.List;importjava.util.function.Predicate;/*java内置函数式接口:断言式接口只有函数式接口【有且仅有一个抽象方法】才可以被@FunctionalInterface注解所......