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;
}
以上代码的执行过程为
Cat mao = new Cat();
- 在方法区中加载
Cat
类信息 - 然后在堆空间中开辟对象空间
- 初始化类属性(也就是将类属性设置为默认值)
- 将这对象空间的内存地址赋给变量
mao
- 在方法区中加载
mao.name = "小花猫";
- 在方法区中的常量池中储存
小花猫
并将地址赋回给对象空间中的name
属性
- 在方法区中的常量池中储存
mao.age = 5;
- 在对象空间中存储 整数
5
并 赋给变量age
- 在对象空间中存储 整数
mao.weight = 15;
- 在对象空间中存储 浮点数
15.0
并 赋给变量weight
- 在对象空间中存储 浮点数
重点
对象的加载顺序:
- 加载类信息
- 开辟空间
- 初始化默认值
- 将对象赋给变量
标签:Java,name,创建对象,Dog,访问,new,Class,mao,属性 来源: https://www.cnblogs.com/jwyqn/p/16213919.html