1、类的定义格式
关键字:class(小写)
【修饰符】 class 类名{ }
类的定义格式举例:
public class Student{ }
2、对象的创建
关键字:new
new 类名()//也称为匿名对象 //给创建的对象命名 //或者说,把创建的对象用一个引用数据类型的变量保存起来,这样就可以反复使用这个对象了 类名 对象名 = new 类名();
那么,对象名中存储的是什么呢?答:对象地址
public class TestStudent{ public static void main(String[] args){ System.out.println(new Student());//Student@7852e922 Student stu = new Student(); System.out.println(stu);//Student@4e25154f int[] arr = new int[5]; System.out.println(arr);//[I@70dea4e } }
发现学生对象和数组对象类似,直接打印对象名和数组名都是显示“类型@对象的hashCode值",所以说类、数组都是引用数据类型,引用数据类型的变量中存储的是对象的地址,或者说指向堆中对象的首地址。
那么像“Student@4e25154f”是对象的地址吗?不是,因为Java是对程序员隐藏内存地址的,不暴露内存地址信息,所以打印对象时不直接显示内存地址,而是JVM帮你调用了对象的toString方法,将对象的基本信息转换为字符串并返回,默认toString方法返回的是“对象的运行时类型@对象的hashCode值的十六进制值”,程序员可以自己改写toString方法的代码(后面会讲如何改写)。