文章目录 Java面向对象编程核心笔记 一、方法值传递机制 1. 基本数据类型传递 2. 引用数据类型传递 值传递总结 二、面向对象核心概念 1. 类与对象关系 2. 类定义规范 3. 对象创建与使用 三、封装机制详解 1. 封装三大要素 2. 封装示例(GirlFriend类) 3. 测试类 4. 封装优势分析 四、核心概念总结 1. 值传递 vs 引用传递 2. 面向对象三大特征 3. 封装最佳实践
Java面向对象编程核心笔记
一、方法值传递机制
1. 基本数据类型传递
public class ValuePassingDemo { public static void main ( String [ ] args) { int a = 10 ; System . out. println ( "修改前: " + a) ; change ( a) ; System . out. println ( "修改后: " + a) ; } public static void change ( int a) { a = 20 ; }
}
2. 引用数据类型传递
public class ReferencePassingDemo { public static void main ( String [ ] args) { int [ ] arr = { 1 , 2 , 3 } ; System . out. println ( "修改前: " + Arrays . toString ( arr) ) ; modifyArray ( arr) ; System . out. println ( "修改后: " + Arrays . toString ( arr) ) ; } public static void modifyArray ( int [ ] array) { array[ 0 ] = 10 ; }
}
值传递总结
传递类型 特点 内存变化 示例 基本数据类型 传递值副本 修改不影响原始值 int
, double
等引用数据类型 传递引用副本 修改对象内容影响原始对象 数组、对象 重新赋值引用 不影响原始引用 指向新对象不影响原对象 array = new int[5]
二、面向对象核心概念
1. 类与对象关系
概念 定义 关系 示例 类 对象的蓝图/模板 描述共同特征 class Car { ... }
对象 类的具体实例 基于类创建 Car myCar = new Car()
成员变量 对象的属性 描述状态 String color;
成员方法 对象的行为 描述功能 void startEngine() { ... }
2. 类定义规范
public class Student { private String name; private int age; public void study ( String subject) { System . out. println ( name + "正在学习" + subject) ; }
}
3. 对象创建与使用
public class ObjectDemo { public static void main ( String [ ] args) { Student student = new Student ( ) ; student. setName ( "张三" ) ; student. setAge ( 20 ) ; student. study ( "Java编程" ) ; }
}
三、封装机制详解
1. 封装三大要素
要素 目的 实现方式 私有化字段 防止外部直接访问 private
修饰符公共Getter 提供安全读取 public 数据类型 getXxx()
公共Setter 提供安全修改 public void setXxx(参数)
2. 封装示例(GirlFriend类)
public class GirlFriend { private String name; private int age; private String gender; public void setName ( String n) { name = n; } public String getName ( ) { return name; } public void setAge ( int a) { if ( a >= 18 && a <= 40 ) age = a; else System . out. println ( "年龄不符合要求" ) ; } public int getAge ( ) { return age; } public void setGender ( String g) { gender = g; } public String getGender ( ) { return gender; }
}
3. 测试类
public class GirlFriendTest { public static void main ( String [ ] args) { GirlFriend girlFriend = new GirlFriend ( ) ; girlFriend. setName ( "小红" ) ; girlFriend. setAge ( 20 ) ; girlFriend. setGender ( "女" ) ; System . out. println ( "姓名: " + girlFriend. getName ( ) ) ; System . out. println ( "年龄: " + girlFriend. getAge ( ) ) ; System . out. println ( "性别: " + girlFriend. getGender ( ) ) ; }
}
4. 封装优势分析
数据保护 :防止不合理赋值(如负数年龄)操作可控 :所有修改通过方法进行逻辑集中 :验证规则统一维护使用简化 :调用者无需了解内部实现易于维护 :内部修改不影响外部调用
四、核心概念总结
1. 值传递 vs 引用传递
特性 值传递 引用传递 传递内容 值副本 引用地址副本 原始值影响 不影响 影响对象内容 重新赋值 不影响原变量 不影响原引用 典型类型 基本数据类型 数组、对象
2. 面向对象三大特征
特征 核心思想 关键实现 封装 隐藏实现细节 private字段 + public方法 继承 代码复用扩展 extends关键字 多态 同一接口不同实现 方法重写 + 父类引用子类对象
3. 封装最佳实践
字段私有化 :所有成员变量使用private
方法公共化 :提供公共访问接口参数验证 :在setter中添加业务规则构造方法 :初始化必须属性行为封装 :将相关操作封装成方法
“好的封装就像黑盒子:使用者只需知道输入和输出,无需了解内部实现细节。”