先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
正文
写法:
注意事项:
①接口当中的抽象方法,修饰符必须是两个固定的关键字:public abstract
②public abstract这两个关键字可以省略
③抽象方法的三要素可以随需求定义 ☆(返回值类型、方法名、参数列表)
接口使用:
注意:接口同抽象类,不能直接new实例化使用,必须有一个“实现类”去实现接口
【重点】 可以使用匿名类【和线程相似】
public interface Demo01 {
void add();
}
//
public class Demo02 {
public static void main(String[] args) {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
}
});
new Demo01() {
@Override
public void add(){
};
};
}
}
理解:实现类跟子类差不多,实现跟继承差不多 ☆(思路相同,写法不同)
写法:public class 实现类名 implements 接口名{…}
说明:
①接口的实现类,必须覆盖重写接口中所有的抽象方法
②实现,同抽象类实现,加@Override,去掉abstract关键字,并加上方法体
③Idea快捷键Alt+Enter(会把所有的抽象方法都实现)
④如果实现类没有覆盖重写接口中所有的抽象方法,那么这个类必须是抽象类
⑤实现类一般的命名都是:接口名+Impl ☆
总结:类->抽象类(extends),类->接口(implements)
总结:一个类,只能继承一个类(单继承);一个类,可以实现多个接口(多实现)☆
接口的默认方法
格式:public default 返回值类型 方法名(参数列表){方法体}
说明:default关键字不能省略
作用:默认方法可以解决接口升级问题 ☆
应用场景:比如一个接口,被10个类实现,那么当此接口需要功能升级,也就是要新添加一个抽象方法,这时候,所有之前实现过此接口的类,全部都会报错,牵一发而动全身。如何解决这个问题呢?答:不添加抽象方法,而是添加默认方法 ☆ 默认方法添加完以后,可以在实例化实现类的时候,进行调用(相当于继承过来了 ☆)
注意事项:☆
①接口的默认方法,可以通过实现类对象直接调用
②接口的默认方法,也可以被接口的实现类进行覆盖重写 @Override(不能加default关键字了 ☆)
接口的静态方法
格式:public static 返回值类型 方法名(参数列表){方法体}
使用:接口名.静态方法名(参数列表);
注意:静态方法不能用接口实现类对象调用,必须使用接口名调用(不同于类中静态方法)
说明:一个类可以实现多个接口,如果多个接口中的静态方法名字相同,对象调用就会冲突 ☆
接口的成员变量
说明:接口中可以定义成员变量,但是必须使用public static final三个关键字来修饰 ☆
final关键字:表示最终的(含义是之后不能修改了)
结论:public static final从效果上看,这其实就是接口中的常量了(常量:不变的量)
格式:
注意事项:
①可以省略public static final,但是注意,不写也照样是这仨玩意
②接口中的常量,必须赋值,不可以不赋值 ☆(没有默认值,不同于类中的成员变量)
③接口中的常量名称,建议完全大写,且用下划线分隔
接口总结
①接口不能有静态代码块,且不能写构造方法
②一个类可以同时实现多个接口,但父类只能有一个:即“单继承、多实现”☆
③继承和实现连写:public class MyInterfaceImpl extends Demo2 implements MyInterfaceA,MyInterfaceB{ … }
④实现类习惯写成以Impl结尾的形式 ☆
⑤如果实现类所实现的多个接口中,存在有重复的抽象方法,那么只需要覆盖重写一次即可
⑥如果实现类所实现的多个接口中,存在有重复的默认方法,那么必须对重复的默认方法重写(不考虑静态方法)
**这种情况重写默认方法后 就不能调用到接口中的默认方法 **
⑦如果实现类没有覆盖重写所有接口中的抽象方法,那么此类必须是抽象类
⑧一个类如果 【直接父类 】当中的方法,和接口中的默认方法产生了冲突,优先使用父类当中的方法 ☆
结论:继承父类优先于接口实现 ☆
⑨类与类之间是单继承;类与接口之间是多实现;接口与接口之间可以多继承extends(不考虑)
⑩多个父接口中的抽象方法可以重复,多个父接口中的默认方法如果重复,子接口必须进行重写
关于java多态
明确概念:多态的含义就是多种形态 ☆
说明:多态性说的是对象,不是类**(对象具有多态性 ☆)**
说明:继承(extends)或实现(implements)是多态性的前提 ☆
案例:小明是一个学生,同时也是一个人,小明是一个对象,这个对象,既有学生的形态,也有人的形态。
结论:一个对象拥有多种形态,这就是对象的多态性 ☆
多态性实质:代码中体现出的多态性,其实就是一句话:【父类引用指向子类对象】☆
多态性格式:左父右子【两种格式】
父类名称 对象名 = new 子类名称();
接口名称 对象名 = new 实现类名称();
代码①:动物与猫的案例 ☆(一只猫,当做动物看,没毛病)
代码②:USB与U盘的案例 ☆
多态形式的访问:☆
①多态情况访问成员变量:☆
直接通过对象名称访问成员变量:(看等号左边是谁,就优先用谁,没有,则向上寻找)
间接通过成员方法访问成员变量:(看该方法属于谁,就优先使用谁,没有,则向上寻找)
Kafka进阶篇知识点
Kafka高级篇知识点
44个Kafka知识点(基础+进阶+高级)解析如下
由于篇幅有限,小编已将上面介绍的**《Kafka源码解析与实战》、Kafka面试专题解析、复习学习必备44个Kafka知识点(基础+进阶+高级)都整理成册,全部都是PDF文档**
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
7047580)]
44个Kafka知识点(基础+进阶+高级)解析如下
[外链图片转存中…(img-Uxry79bT-1713667047581)]
由于篇幅有限,小编已将上面介绍的**《Kafka源码解析与实战》、Kafka面试专题解析、复习学习必备44个Kafka知识点(基础+进阶+高级)都整理成册,全部都是PDF文档**
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-gZ3vhllF-1713667047581)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!