1. 面向对象介绍面向对象编程OOP是一种编程思想它将现实世界中的事物抽象为“对象”通过对象之间的交互来解决问题。例如考试问题老师、试卷、学生对象共同协作买手机问题顾客、售货员、手机、钱对象相互配合这种思想让代码更贴近生活即使是编程新手也能大致看懂程序意图。Java 为我们提供了许多现成的对象如 Scanner、Random但更多时候需要自己设计对象。2. 类和对象2.1 类与对象的关系类是对一组具有相同属性和行为的事物的抽象描述可以理解为“设计图”。对象根据类创建出来的具体实体。关系根据类创建对象一个类可以创建出多个对象。2.2 类的组成属性名词→ 成员变量定义在类中、方法外行为动词→ 成员方法去掉 static 关键字java public class Student { String name; // 属性 int age; public void study() { // 行为 System.out.println(学习); } }2.3 对象的创建和使用java // 创建对象 Student stu new Student(); // 使用对象 stu.name 张三; stu.age 23; stu.study();3. 对象内存图对象存储在堆内存中成员变量跟随对象进入堆。对象引用变量如 stu存储在栈内存中指向堆中的对象地址。4. 成员变量和局部变量的区别5. this 关键字5.1 作用this 代表当前对象的引用地址。用于区分局部变量和成员变量当名字相同时。可以调用本类的成员变量和方法。java public void sayHello(String name) { System.out.println(this.name); // 访问成员变量 this.study(); // 调用成员方法 }5.2 省略规则不涉及重名时this. 可以省略。this. 调用方法也可省略但建议保留以提高可读性。6. 构造方法6.1 定义格式java public class Student { public Student() { // 构造方法体 } }6.2 特点方法名与类名相同没有返回值类型。每创建一次对象构造方法就会执行一次。如果类中没有定义构造方法系统会默认提供一个无参构造如果手动定义了构造方法系统不再提供默认构造。6.3 作用1. 创建对象2. 为成员变量赋初值带参构造java public Student(String name, int age) { this.name name; this.age age; }6.4 注意事项构造方法可以重载参数不同。可以使用 IDEA 快捷键 Alt Insert 快速生成构造方法。7. 封装思想7.1 什么是封装封装是将对象的属性和行为包装在一起并隐藏内部实现细节仅对外暴露必要的接口。7.2 封装的优点提高安全性防止外部随意修改内部数据。简化使用调用者只需关注如何使用无需关心内部实现。7.3 如何实现封装使用 private 关键字将成员变量隐藏。提供 public 的 getXxx() 和 setXxx() 方法供外界访问。java public class Phone { private String brand; // 隐藏属性 public String getBrand() { return brand; } public void setBrand(String brand) { this.brand brand; } }8. 权限修饰符常用private隐藏成员变量。public暴露方法。protected用于继承中子类访问。9. 标准 JavaBeanJavaBean 是一种遵循特定规范的实体类用于封装数据。9.1 规范1. 成员变量全部私有private。2. 提供无参构造方法和带参构造方法。3. 为每个成员变量提供 getXxx() 和 setXxx() 方法。java public class Student { private String name; private int age; public Student() {} public Student(String name, int age) { this.name name; this.age 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; } }- IDEA 快捷键Alt Insert → 选择 Getter and Setter、Constructor 快速生成。10. static 关键字10.1 作用static 修饰的成员属于类被该类的所有对象共享可以通过类名直接调用。java public class Person { static String country 中国; public static void show() { System.out.println(静态方法); } } // 调用 Person.country; Person.show();10.2 内存理解静态成员在类加载时分配内存存放在**方法区**或 JDK8 以后的元空间。所有对象共享同一份静态数据。11. static 注意事项1. 静态方法中不能直接访问非静态成员变量或方法因为非静态成员属于对象而静态方法加载时对象可能尚未创建。解决方法通过创建对象访问非静态成员。2. 静态方法中不能使用 this因为 this 代表当前对象而静态方法属于类。java public class Demo { int num 10; public static void main(String[] args) { // System.out.println(num); // 错误 Demo d new Demo(); System.out.println(d.num); // 正确 } }12. 重新认识 main 方法public static void main(String[] args) 是 Java 程序的入口它的修饰符含义public保证 JVM 可以从任何地方调用。staticJVM 无需创建对象即可调用。void主方法无返回值。String[] args命令行参数数组。