-
这里是一个动物类
public class Pet { String name; // 属性name int age; // 属性age // 这里还有一个无参构造 public void shout(){ // 定义的一个方法 System.out.println("在叫"); } }
-
这里是一个测试类
public class Application { // 最先在方法区加载Applicatin这个类 如:main方法,常量池 public static void main(String[] args) { // 在栈中开辟一个main的栈帧,程序的入口 // 这里的dog(引用变量名) 指向的是一个地址 Pet dog = new Pet(); // new Pet 最先会去加载Pet这个类 这之后在创建dog这个对象 // 因为"旺财"是字符串,String默认就是final修饰的,也就是常量 dog.name = "旺财"; // 是将旺财赋值给了堆中的name dog.age = 3; // 同理将3赋值给了堆中的age System.out.println(dog.name); System.out.println(dog.age); dog.shout(); System.out.println(dog); // 直接输出这个dog会输出一个地址 Pet cat = new Pet(); // 会在堆中重新开辟一块空间 cat.name = "婧"; cat.age = 23; } }