类是模板,对象是按模板创建的实例;先定义类,再用new创建对象,最后通过对象操作属性和方法。类用class定义,首字母大写,含private属性和public方法,需getter/setter;对象必须new创建,分声明引用和分配内存两步;属性赋值和方法调用只能通过对象,不可直接对类操作;构造方法与类同名,可无参或有参,支持初始化赋值。

类是模板,对象是按模板造出来的具体实例。写代码时,先定义类,再用 new 创建对象,最后通过对象操作属性和方法——这是最核心的顺序,不能颠倒。
类怎么写:描述“一类事物”有什么、能做什么
类用 class 关键字定义,名字首字母大写(如 Student)。里面放两类东西:
- 属性(成员变量):表示状态,比如 String name;、int score;
- 方法(成员函数):表示行为,比如 void study() { System.out.println(name + "在学习"); }
注意:属性默认不带修饰符时是包内可见;实际开发中推荐用 private 封装属性,配合 public 的 getter/setter 方法访问。
对象怎么创建:必须用 new,且分两步走
创建对象不是单写一个变量名就行,要明确两个动作:
立即学习“Java免费学习笔记(深入)”;
你接手一个需求时,是不是经常这样:"改一个小字段 → 结果把不相关的代码也改了"、"需求说得很模糊 → 做着做着发现跑偏了"、"数据库加个字段 → 上线才发现漏了数据兼容"、"做了个新功能 → 一个月后自己都忘了当时怎么设计的"、"写到一半被中断 → 再回来不知道从哪继续";这个 Skill 就是专门解决这些问题的。 它会自动探测你的项目环境(JDK、Spring Boot、ORM、数据库、前端框架),记在
- 声明引用:比如 Student s1; —— 这只是准备了一个“名字”,还没造出人
- 分配内存并初始化:比如 s1 = new Student(); —— 这才真正调用构造方法,在堆里生成一个实例
也可以合并成一句:Student s1 = new Student();。没执行 new,就不存在真实对象,也就不能给 name 赋值或调用 study()。
属性赋值和方法调用:只能通过对象,不能直接对类操作
类本身不存数据,所有具体值都属于某个对象。比如:
- ✅ 正确:s1.name = "张三"; s1.study();
- ❌ 错误:Student.name = "张三";(编译不通过)
同一个类可以创建多个对象,每个对象的属性互不影响。例如 s1.name = "张三",s2.name = "李四",它们各自保存自己的姓名和分数。
构造方法怎么加:让对象一出生就有初始值
类里可以定义构造方法,名字和类名完全一样,没有返回类型:
- 无参构造(Java 默认提供,但显式写出更清晰):public Student() { this.name = "未知"; }
- 有参构造(常用):public Student(String name, int score) { this.name = name; this.score = score; }
创建对象时就可以传参:Student s = new Student("王五", 89);,比创建后再逐个赋值更简洁安全。

















