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

本期博文主要深入讲解类和对象的使用,重点在实例化了一个类的对象之后,对应的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();
	}
}


Tips:图中反馈的信息很多,很重要

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

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


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

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值