class 类名 { String 属性名称;//(也称成员变量、field字段)可以定义多个 int 属性名; char 属性名; int[] 属性名; // 成员变量可以是基本类型,也可以是引用类型 }
要使用类需先创建这个类的对象
public class ... { public static void main (String[] args) { // 类名 对象名 = new 类名(); /* 也可以先创建空变量再创建对象如: Dog mike = null; mike = new Dog(); */ Dog mike = new Dog(); } } class Dog { String name; }
属性访问有两种,一种是对象访问,另外一种是匿名访问【即访问完成后就回收这个空间】
// 以上面代码为例 // 创建对象 Dog mike = new Dog(); // 给对象属性赋值 mike.name = "麦克"; // 打印 System.out.println("有一只狗,名字叫" + mike.name);
匿名服务无需创建对象,直接使用 new 类名().属性名称
即可访问,访问完成后,JVM
会将这个匿名访问的空间回收
本质上就是利用了JVM
一个对象如果没有被任何变量引用这个对象就会被回收的特性。
// 相当于实例化了一个对象,但不使用任何变量引用它, // 那么当它使用完后就会被Jvm垃圾回收机制销毁 System.out.println("看看匿名访问打印出来的是什么 " + new Dog().name);
public class ......{ public static void main (String[] args) { Cat mao = new Cat(); mao.name = "小花猫"; mao.age = 5; mao.weight = 15; } } class Cat { String name; byte age; double weight; }
以上代码的执行过程为
Cat mao = new Cat();
Cat
类信息mao
mao.name = "小花猫";
小花猫
并将地址赋回给对象空间中的 name
属性mao.age = 5;
5
并 赋给变量 age
mao.weight = 15;
15.0
并 赋给变量 weight
对象的加载顺序: