先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
正文
访问控制符是一组限定类、属性或方法是否可以被程序里的其他部分访问和调用的修饰符。类的访问控制符只能是空或者 public,方法和属性的访问控制符有 4 个,分别是 public、 private、protected 和 default,其中 default 是一种没有定义专门的访问控制符的默认情况。
我们可以通过下表来说明访问权限:
| 修饰符 | 当前类 | 同一包内 | 子孙类(同一包) | 子孙类(不同包) | 其他包 |
| — | — | — | — | — | — |
| public | Y | Y | Y | Y | Y |
| protected | Y | Y | Y | Y/N(说明) | N |
| default | Y | Y | Y | N | N |
| private | Y | N | N | N | N |
访问控制存在的原因:
-
让客户端程序员无法触及他们不应该触及的部分;
-
允许库设计者改变类内部的工作方式而不用担心会影响到客户端程序员。
default
如果一个类没有访问控制符,说明它具有默认的访问控制特性。这种默认的访问控制权规定,该类只能被同一个包中的类访问和引用,而不能被其他包中的类使用。
例如:
Demo 类现在使用的是默认控制符,并且它在 com.test 包中。
package com.testclass Demo {
}
Person 类也处于 com.test 包中。
package com.test
import com.test.Demo;
class Person {
Demo d;
}
上面的这两个类都处于同一个包中,它们被默认控制符所修饰,所以两个类可以相互访问。而假如 Demo 类处于 com 包中,则它们就不能互相访问。
public
共有的,是访问权限限制最宽的修饰符。被 public 修饰的类、属性、及方法不仅可以跨类访问,而且可以跨包访问。 例如:
public static void main(String[] args) {
}
我们之前所定义的主方法不管在哪个类中,哪个包中,都可以被访问。
private
用 private 修饰的类成员、属性以及方法只能被该类的对象访问,而不能被任何其他类(包括该类的子类)访问和引用。因此,private 修饰符具有最高的保护级别。声明为私有访问类型的变量只能通过类中公共的 getter 方法被外部类访问。
例如:
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
实例中,Person 类中的 age 和 name 变量为私有变量,所以其他类不能直接得到和设置该变量的值。为了使其他类能够操作该变量,定义了两个变量的 get 和 set 方法,用来获取变量的值和设置变量的值。
public class Demo {
public static void main(String[] args) {
Person person = new Person();
person.setAge(18);
person.setName(“张三”);
System.out.printf(“我的名字叫%s,今年%d岁”,person.getName(),person.getAge());
}
}
执行结果:
我的名字叫张三,今年18岁
protected
用保护访问控制符 protected 修饰的类成员可以被三种类所访问:该类自身、与它在同一个包中的其他类以及在其他包中的该类的子类。protected 修饰符的主要作用,是允许其他包中它的子类来访问父类的特定属性和方法,否则可以使用默认访问控制符。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。 可在右侧“测试结果”区查看具体的测试集详情。
实践作业代码
开始你的任务吧,祝你成功!
/**
-
任务:实现图书类,该类包含了图书的基本属性和信息。
-
类名为:Book
*/
// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/
public class Book {
// 定义四个私有变量
// 图书名称(bookName String)
// 图书单价(price double)
// 图书库存(total int)
// 图书id(bookId int)
private String bookName;
private double price;
private int total;
private int bookId;
// 获取图书名称
public String getBookName() {
return bookName;
}
// 设置图书名称
public void setBookName(String bookName) {
this.bookName=bookName;
}
// 获取图书单价
public double getPrice() {
return price;
}
// 设置图书单价
public void setPrice(double price) {
this.price=price;
}
// 获取图书库存
public int getTotal() {
return total;
}
// 设置图书库存
public void setTotal(int total) {
this.total=total;
}
// 获取图书id
public int getBookId() {
return bookId;
}
// 设置图书id
public void setBookId(int bookId) {
this.bookId=bookId;
}
//以下代码不写也能过判题系统
public static void main(String []args) {
Book book =new Book();
book.setBookId(1);
book.setBookName(“神雕侠侣”);
book.setPrice(32.00);
book.setTotal(35941);
System.out.println(“图书编号:”+book.getBookId());
System.out.println(“图书名称:”+book.getBookName());
System.out.printf(“图书单价:%.2f”,book.getPrice());
System.out.println();
System.out.println(“图书库存:”+book.getTotal());
}
}
/********** End **********/
任务描述
本关任务:实现一个电影类。
最后
面试题文档来啦,内容很多,485页!
由于笔记的内容太多,没办法全部展示出来,下面只截取部分内容展示。
1111道Java工程师必问面试题
MyBatis 27题 + ZooKeeper 25题 + Dubbo 30题:
Elasticsearch 24 题 +Memcached + Redis 40题:
Spring 26 题+ 微服务 27题+ Linux 45题:
Java面试题合集:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
dis 40题:**
[外链图片转存中…(img-qpb8m3WI-1713697754545)]
Spring 26 题+ 微服务 27题+ Linux 45题:
[外链图片转存中…(img-j76ujs1O-1713697754546)]
Java面试题合集:
[外链图片转存中…(img-rHq9Z8mT-1713697754546)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-GkFHoRc0-1713697754547)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!