【JavaSE基础】随着jdk的更新,你确定你真的还了解接口吗?教你深入理解和掌握接口

总结

至此,文章终于到了尾声。总结一下,我们谈论了简历制作过程中需要注意的以下三个部分,并分别给出了一些建议:

  1. 技术能力:先写岗位所需能力,再写加分能力,不要写无关能力;
  2. 项目经历:只写明星项目,描述遵循 STAR 法则;
  3. 简历印象:简历遵循三大原则:清晰,简短,必要,要有的放矢,不要海投;

以及最后为大家准备的福利时间:简历模板+Java面试题+热门技术系列教程视频

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

如果一个类只由抽象方法和全局常量组成,那么这种情况下不会将其定义为一个抽象类。只会定义为一个接口,所以接口严格的来讲属于一个特殊的类,而这个类里面只有抽象方法和全局常量,就连构造方法也没有。

🍄 2.定义接口的格式


public interface A {//定义一个接口

public static final String name=“hello”;//这里即使不写static final也会被默认加上,全局常量

abstract void test();//抽象方法

}

🍄 3.实现接口的格式

===================

class B implements A{

@Override

public void test() {

System.out.println(“重写了接口A的test方法”);

System.out.println(name);//继承了常量name

}

}

🍅2.为什么要有接口?

============

我们都知道,Java语言是单继承多实现的语言。因为只能每个类只能继承一次,所以继承是非常宝贵的,如果可以用接口就能实现的,我们尽量不使用继承来获得 ,因为每个类都可以实现多个接口。这里不细究到底什么时候使用接口什么时候使用抽象类。抽象类一般是将多个类共有的属性抽取出来,接口一般是给某个类实现额外特定的功能,比如经理和工人都是为老板服务的,但经理却在年底有奖金分成,这时我们就可以给可以给经理实现一个包含获得奖金方法的接口。接口还可以帮助我们完成代码的解耦。

建议先观看我的抽象类文章:【JavaSE基础】深入学习和掌握抽象类,了解易错知识点

🍅3.接口的性质和使用

============

🍈1.接口之间的多实现


接口也是可以多实现接口的,比如Java的集合类中的List和Map接口,都是实现了我们的Collection接口,可以实现一个也可以实现多个,因为接口本来就是被运行多实现的。我们通常也可以类似像继承的概念将它们称之为父接口和子接口。但是要注意,接口实现接口时用的是extends关键字而不是implements

public interface A {//定义一个接口A

}

interface C{//定义一个接口B

}

interface B extends A,C {//接口C继承A和B接口,

//B接口将继承A,C接口的属性和方法

}

🍈2.接口的子类(不是抽象类),必须重写接口的全部方法


我们知道,接口中的方法一般都是抽象方法(因为在jdk1.8中已经允许接口存在静态方法)。当一个类实现一个接口时,意味者它获得了这个接口的所有的抽象方法,如果我们不把所有的抽象方法重写,那么这个类就必须得变为抽象类(**因为包含抽象方法的类一定是抽象类)。**所以一般我们实现接口后,需要将这个接口的所有方法进行重写。

public interface A {//定义一个接口A

void test1();//抽象方法test1 接口中的方法默认都是抽象方法

void test2();//抽象方法test2

}

class B implements A {//类B实现了A接口

//必须将A接口所有方法重写,否则B类将变为抽象类

@Override

public void test1() {

System.out.println(“重写test1方法”);

}

@Override

public void test2() {

System.out.println(“重写test2方法”);

}

}

🍈2.接口不可以直接实例化


接口和抽象类一样,因为可能包含抽象方法,所以是不可以直接实例化的。但是我们可以利用接口的子类对象向上转型实例。也就是我们常说的父类对象指向子类实例。

public class A implements B {

public static void main(String[] args) {

B object=new A();

//左为父类接口B 右为子类对象A

}

}

interface B{

}

🍈3.接口中的变量默认都是常量


前面我们说了虽然接口中可以定义变量,但其实这些变量都是默认都被static final修饰。我们知道被static final修饰的变量其实是是我们的全局常量,严格意义上它并不叫做变量。我们可以直接通过接口名.变量名的格式访问。

public class A {//注意这里A并未实现B接口

public static void main(String[] args) {

System.out.println(B.name);//可以访问name属性

}

}

interface B{

//其实被默认加了static final

String name=“hello”;

}

🍈4.接口中可以定义静态方法(视jdk版本而定)


在老版的jdk中,接口中的方法得为抽象方法。但随着jdk的更新(以1.8为例),接口中开始允许存在静态方法。我们可以像类中的静态方法一样通过接口名直接调用静态方法。但是这里要注意后续实现接口的类并不能继承这个方法,因为静态资源是无法继续继承的。JDK1.8中,接口中的方法可以被default和static修饰,但是,被修饰的方法必须有方法体

public class A {//注意这里A并未实现B接口

public static void main(String[] args) {

B.test();//通过接口名直接调用

}

}

interface B{

static void test(){

System.out.println(“接口中的静态方法”);

Spring全套教学资料

Spring是Java程序员的《葵花宝典》,其中提供的各种大招,能简化我们的开发,大大提升开发效率!目前99%的公司使用了Spring,大家可以去各大招聘网站看一下,Spring算是必备技能,所以一定要掌握。

目录:

部分内容:

Spring源码

  • 第一部分 Spring 概述
  • 第二部分 核心思想
  • 第三部分 手写实现 IoC 和 AOP(自定义Spring框架)
  • 第四部分 Spring IOC 高级应用
    基础特性
    高级特性
  • 第五部分 Spring IOC源码深度剖析
    设计优雅
    设计模式
    注意:原则、方法和技巧
  • 第六部分 Spring AOP 应用
    声明事务控制
  • 第七部分 Spring AOP源码深度剖析
    必要的笔记、必要的图、通俗易懂的语言化解知识难点

脚手框架:SpringBoot技术

它的目标是简化Spring应用和服务的创建、开发与部署,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用的微服务功能,可以和spring cloud联合部署。

Spring Boot的核心思想是约定大于配置,应用只需要很少的配置即可,简化了应用开发模式。

  • SpringBoot入门
  • 配置文件
  • 日志
  • Web开发
  • Docker
  • SpringBoot与数据访问
  • 启动配置原理
  • 自定义starter

微服务架构:Spring Cloud Alibaba

同 Spring Cloud 一样,Spring Cloud Alibaba 也是一套微服务解决方案,包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

  • 微服务架构介绍
  • Spring Cloud Alibaba介绍
  • 微服务环境搭建
  • 服务治理
  • 服务容错
  • 服务网关
  • 链路追踪
  • ZipKin集成及数据持久化
  • 消息驱动
  • 短信服务
  • Nacos Confifig—服务配置
  • Seata—分布式事务
  • Dubbo—rpc通信

Spring MVC

目录:

部分内容:

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

78001795)]

[外链图片转存中…(img-dXRyELlF-1715478001795)]

部分内容:

[外链图片转存中…(img-uKg9enZH-1715478001796)]

[外链图片转存中…(img-MwJDxrOn-1715478001796)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值