Java基础14 面向对象~接口和内部类,2024年最新2024年百度Java面试真题

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
img

正文

接口是什么


在这里插入图片描述

生活中的接口

如电脑上的USB接口,规范了接口的形状、尺寸等,只要符合该规范的设备就可以连接上去。

程序中的接口

是一套规范,规定了方法的定义,只要是实现了该接口的类必须按照接口的规范来定义。

使用接口


定义接口的语法:

public interface 接口名{

静态常量的定义;

方法的定义;

}

定义接口要注意:

  1. 方法是abstract的,不能实现

  2. 定义的属性会自动转变为静态常量

  3. 方法只能是public的,默认是public

实现接口

public class 类名 implements 接口名{

具体方法的实现

}

实现接口要注意:

  1. 必须实现所有接口中的方法

  2. 方法必须和接口中定义的完全一致

  3. 方法必须是public的

  4. 一个类可以实现多个接口

  5. 一个类可以继承类同时实现接口

class 类名 extends 父类 implements 接口{

}

  1. 接口可以继承接口,实现类必须实现所有的方法

interface A{

void testA();

}

//接口之间的继承

interface B extends A{

void testB();

}

class C implements B{

public void testA() {

}

public void testB() {

}

}

接口在开发中的意义

  1. 为类的实现制定一套规范

  2. 把设计和实现分开

default关键字


Java1.8的新特性,被default定义的方法可以有默认的实现。

public interface Person {

//给接口方法默认的实现

default void eat(){

System.out.println(“在吃饭!!”);

}

void walk();

}

实现类不强制要求实现带default的方法。

接口与抽象类的异同


接口和抽象类的区别是常见的面试题

相同点:

  1. 都可能存在没有实现的方法

  2. 都不能实例化

不同点:

  1. 抽象类是单一继承,类可以实现多个接口

  2. 接口不能定义构造方法

  3. 接口中的方法只能是public,抽象类可以有各种访问类型的方法。

  4. 接口中只能定义静态常量,抽象类可以定义普通的成员变量。

  5. 接口中的抽象方法不用加abstract,抽象类必须加。

内部类

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

内部类就是在类里面定义的类。

Java的内部类包含:

  • 成员内部类

  • 静态内部类

  • 局部内部类

  • 匿名内部类

成员内部类


和成员变量(属性)、成员方法同级的,都是属于某一个对象所有的。

语法:

class 外部类{

class 内部类{

}

}

特点:

  • 一般只在外部类的里面使用

  • 成员内部类和类的属性和方法同一级别。

  • 属于类的对象,在创建每个对象时加载到内存

静态内部类


成员内部类加上static,就是静态内部类

语法:

public class 外部类{

static class 内部类{

}

}

和成员内部类的区别:

  1. 成员内部类属于对象,静态内部类属于外部类

  2. 成员内部类每创建一个对象加载一次,静态内部类和外部类一起加载

  3. 成员内部类能访问外部类的所有成员,静态内部类只能访问外部类静态的成员

局部内部类


在方法中定义的类,只能在当前方法中使用,方法调用时加载类到内存中。

语法:

总结

大型分布式系统犹如一个生命,系统中各个服务犹如骨骼,其中的数据犹如血液,而Kafka犹如经络,串联整个系统。这份Kafka源码笔记通过大量的设计图展示、代码分析、示例分享,把Kafka的实现脉络展示在读者面前,帮助读者更好地研读Kafka代码。

麻烦帮忙转发一下这篇文章+关注我

就这一次!拼多多内部架构师培训Kafka源码笔记(现已绝版)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
展示、代码分析、示例分享,把Kafka的实现脉络展示在读者面前,帮助读者更好地研读Kafka代码。

麻烦帮忙转发一下这篇文章+关注我

[外链图片转存中…(img-eKkFbotC-1713411276593)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-lXaW8HtK-1713411276594)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值