java中类与对象实例化及成员变量调用的核心是:先用new创建对象,再用点号访问变量;类需合法可访问(首字母大写、public类名与文件名一致),成员变量定义在类内方法外且有默认初值;对象通过new+构造方法在堆中创建,引用指向该对象;访问成员变量需注意权限(public可直接访问,private需getter/setter)和空指针风险。

Java 中类与对象的实例化和成员变量调用,核心就两步:先用 new 创建对象,再用 点号(.) 访问变量。关键在于理解“谁在访问”“访问的是哪个变量”,以及变量是否可访问。
类怎么定义才支持实例化
类必须是合法、可访问的结构,才能被实例化:
- 类名首字母大写,符合驼峰命名(如 Student、Car)
- 若用 public 修饰,类名必须与文件名完全一致(如 public class Person 必须保存为 Person.java)
- 成员变量定义在类内部、方法外部;默认有初始值(int → 0,boolean → false,String → null)
对象如何实例化
使用 new + 构造方法 在堆内存中创建一个新对象:
- 语法格式:类名 引用变量名 = new 类名();
- 例如:Student s = new Student(); —— 此时 s 是引用,指向堆中新建的 Student 对象
- 即使没写构造方法,Java 也会提供一个无参默认构造方法,所以 new Student() 总是合法的(除非你显式写了有参构造且没补无参)
怎么安全访问成员变量
通过对象引用 + 点号访问,但要注意权限和可见性:
- 如果变量是 public(如 public String name;),可直接读写:s.name = "张三"; System.out.println(s.name);
- 如果变量是 private(推荐做法),不能直接访问,需通过 getter/setter 方法:s.setName("李四"); String n = s.getName();
- 访问前确认对象不为 null,否则会抛出 NullPointerException(比如 Student s = null; s.name; 就会崩溃)
常见错误提醒
这些细节容易忽略,却直接影响运行结果:
- 局部变量和成员变量同名时,方法内直接写变量名会优先取局部变量(就近原则),不是成员变量
- 静态变量(static int count;)属于类,不依赖对象,应通过 类名.count 访问,而非 s.count
- 未初始化的引用类型成员变量值为 null,对其调用方法(如 s.address.length())会报空指针异常
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











