类
类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体。
定义
[修饰符] class 类名{
}
定义类的注意:
- 如果类使用了public修饰符 必须保证当前的文件名和当前类相同类名使用名称表示。
- 类表示某一类事物 首字母大写。
public class User {
private String name;
private int age;
}
创建
类创建对象的语法:
类名 对象名称 = new 类名();
空对象
一个引用变量没有通过new分配内存空间,这个对象就是空对象,Java使用关键字null表示空对象。当调用一个空对象的实例变量或实例方法时,会抛出空指针异常NullPointException
String str = null;
System.out.println(str.length());//java.lang.NullPointerException
内存分析
Student s = new Student();
创建了Student类的实例对象,同时把Student的对象赋值给变量s,s实际上是一个当前对象在堆内存上的引用,s被存放在栈内存中,指向实际的student的对象,而实际上Student的对象是存储在堆内存中的。变量s本身只是存储了一个地址值,并没有任何的实际值。
当一个对象被创建后,对象保存在堆内存中,Java程序不允许直接访问堆内存的对象,不管是数组还是对象,当程序访问引用变量的成员值或者方法时,实际上是访问引用变量的所指向的数组或者对象的成员变量或者方法。