编程语言
首页 > 编程语言> > Java Class 定义、创建对象、访问属性、及执行过程

Java Class 定义、创建对象、访问属性、及执行过程

作者:互联网

Java Class 定义、创建对象、访问属性、及执行过程

类的定义

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;
}

以上代码的执行过程为

  1. Cat mao = new Cat();
    1. 在方法区中加载 Cat 类信息
    2. 然后在堆空间中开辟对象空间
    3. 初始化类属性(也就是将类属性设置为默认值)
    4. 将这对象空间的内存地址赋给变量 mao
  2. mao.name = "小花猫";
    1. 在方法区中的常量池中储存 小花猫 并将地址赋回给对象空间中的 name 属性
  3. mao.age = 5;
    1. 在对象空间中存储 整数 5 并 赋给变量 age
  4. mao.weight = 15;
    1. 在对象空间中存储 浮点数 15.0 并 赋给变量 weight

重点

对象的加载顺序:

  1. 加载类信息
  2. 开辟空间
  3. 初始化默认值
  4. 将对象赋给变量

标签:Java,name,创建对象,Dog,访问,new,Class,mao,属性
来源: https://www.cnblogs.com/jwyqn/p/16213919.html