Java学习打卡 2026.08.22
2026/8/26 17:51:39 网站建设 项目流程

一、今日学习前言

今天系统学习了 Java 面向对象核心基础,涵盖对象实例化流程、构造方法完整规则、this关键字调用规则、toString重写、Java包机制、面向对象封装思想、四大访问权限修饰符、static静态成员与静态方法全套核心知识点。全部是后续Java开发的底层重点,也是考试、写代码最容易踩坑的部分。

二、对象实例化与初始化流程

1. 对象创建的两步核心流程

当我们 new 类名() 创建对象时,Java 会自动完成两件事:

1. 为对象分配堆内存空间

2. 自动调用对应的构造方法(有参/无参)

没有构造方法,对象就无法完成初始化,也就无法正常创建。

三、构造方法完整规则(重中之重)

1. 系统默认无参构造

• Java 默认给所有类自动赠送一个无参构造方法

• 关键前提:一旦我们手动写了有参构造方法,系统会收回默认无参构造

• 此时如果还需要

2. IDEA快速生成构造方法

不用手敲代码,快捷操作:

1. 类内空白处右键

2. 选择 Generate → Constructor

3. 按住 Ctrl / Shift 多选需要的参数

4. 一键生成有参/无参构造

3. this调用本类构造方法

可以在一个构造方法里,调用本类的另一个构造方法,简化代码。

硬性两大语法规则

1. this(参数); 必须写在构造方法的第一行

2. 不能循环调用、不能自己调用自己,否则直接死循环报错

4. 构造方法重载

一个类可以存在多个构造方法

• 无参构造、单参构造、多参构造

• 只要参数列表不同,就是合法重载

四、对象打印:toString方法重写

1. 默认直接打印对象,只会输出一串地址哈希值,没有意义

2. IDEA 右键 Generate → toString(),一键自动重写

3. 重写后打印对象,会展示对象内部所有属性信息

4. 一个类中:构造方法、普通方法、toString 可以共存,互不冲突

五、Java 包机制(package)

1. 包的作用

包就是文件夹,用来分类管理不同功能的Java代码,避免类名冲突。

2. 导入包规则

• 自定义类、第三方类:需要 import 包名.类名 手动导入

• java.lang 包下所有类,编译器自动导入,无需手动 import

3. 自定义包

自己创建 package 包名,规范管理项目代码结构。

六、面向对象三大特性之——封装

1. 封装核心概念

将数据(成员变量)和操作数据的方法结合在一起,
隐藏对象内部属性和底层实现细节,只对外暴露公开的接口访问。

2. 封装三大好处

1. 降低代码耦合性

2. 降低代码复杂度

3. 极大提高代码安全性(防止外部随意篡改数据)

3. 封装实现:private + get/set

• 所有成员变量用 private 私有化

• 外部无法直接访问、修改

• 提供 get方法:获取值、set方法:设置值

• 外部只能通过公开方法操作私有数据,安全可控

七、四大访问权限修饰符(从严到宽)

1. private 私有的

• 最小权限

• 只能在当前类内部访问

• 跨类、跨包完全无法使用

2. default 默认权限(啥都不写)

• 不写任何修饰符就是默认权限

• 仅当前包内可以访问

• 出了当前包完全无法访问

3. protected 受保护权限

包内可访问,跨包子类也可访问(后续深入学习)

4. public 公共权限

• 最大权限

• 任何位置、任何包、任何类都能正常访问
记忆:private < default < public
八、static 静态关键字(核心难点)

1. 普通成员变量(无static)

• 属于对象

• 存储在堆内存

• 每个对象独立一份数据

2. static 静态成员变量

• 不属于对象,属于类

• 存储在方法区

• 所有对象共享同一份数据

3. 静态成员四大特性

1. 是类属性,不属于某个具体对象

2. 既可以对象调用,也可以类名.变量调用(推荐类名调用)

3. 存放在方法区,不在堆内存

4. 生命周期跟随类的加载与卸载,比对象寿命更长

4. 静态方法特性

1. 属于类,不属于对象

2. 推荐 类名.静态方法名() 调用

3. 硬性规则:静态方法里,不能直接访问非静态变量、非静态方法

4. 静态方法不能使用 this 关键字

5. 静态变量独立初始化

静态成员随类加载优先初始化,优先于对象创建执行。

九、今日知识点总结

1. 对象实例化 = 分配内存 + 调用对应构造方法

2. 有无参构造共存规则:自定义有参后,无参必须手写

3. this调用构造必须第一行、禁止循环调用

4. toString重写实现对象友好打印

5. 包用于分类管理代码,lang包自动导入

6. 封装:私有化数据,对外提供get/set,提高安全性

7. 四大权限修饰符控制代码访问范围

8. static静态内容属于类、共享、存在方法区、静态不能访问非静态

十、今日学习感悟

今天学的是Java面向对象最底层、最核心的地基知识点。构造方法、封装、权限修饰符、static是后续所有代码、项目开发的基础。搞懂实例化流程、静态与非静态区别。但是在课上对于这些内容不像之前那样子好理解,所以掌握不够全,不够深,继续多练习题目,多敲敲代码。加油加油加油!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询