欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

实例化对象时对应的JVM内存结构

程序员文章站 2022-03-26 21:02:23
本期博文主要深入讲解类和对象的使用,重点在实例化了一个类的对象之后,对应的JVM(Java虚拟机)的内存分布是怎样的。在语法级别上怎样完成对象创建呢?语法格式:类名 变量名 = new 类名();这样就完成了一个对象的创建。为了方便知识点的引入,设计一个学生类如下:public class Student{int stu_no;//学号String stu_name;//姓名int stu_age;//年龄String stu_addr;//家庭住址}同时,设计一个测试学生...

本期博文主要深入讲解类和对象的使用,重点在实例化了一个类的对象之后,对应的JVM(Java虚拟机)的内存分布是怎样的。
在语法级别上怎样完成对象创建呢?
语法格式:
类名 变量名 = new 类名();
这样就完成了一个对象的创建。
为了方便知识点的引入,设计一个学生类如下:

public class Student{
	int stu_no;//学号
	String stu_name;//姓名
	int stu_age;//年龄
	String stu_addr;//家庭住址
}

同时,设计一个测试学生类的测试类用来创建对象:

public class StudentTest{
	public static void main(String[] args) {
		//创建学生对象1
		Student s1 = new Student();
		//创建学生对象2
		Student s2 = new Student();
	}
}

实例化对象时对应的JVM内存结构
Tips:图中反馈的信息很多,很重要

  1. 对于Student类当中的学号以及姓名等变量,叫做成员变量,与局部变量不同,如果说这些变量在声明之后没有初始化,将由系统给出缺省默认值。
  2. 对象和引用的区别?
    对象是通过new运算符new出来的,在堆内存中存储。
    但凡是保存了内存地址指向了堆内存当中的对象的变量都叫做“引用”。
  3. 对于同一个类new出来的对象,虽然这些对象有相同的成员变量名,但是各自的属性值也许不同,因此每个对象都分配的是独立的内存空间。

上期博客解答
第一个:method1形参个数不同,构成方法重载;
第二个:method2的返回值不同,不构成方法重载。


以上内容均为个人学习的一点心得,其中的知识点若有错误请留言提醒,若有侵权内容提醒马上删除。

本文地址:https://blog.csdn.net/pf6668/article/details/107371500