TyroneJava.构造方法、关键字new

本文深入探讨了Java中构造方法的概念及其在对象创建过程中的作用,解析了构造方法的格式与注意事项,包括如何通过new关键字分配内存并创建对象,以及Java的垃圾回收机制。

这篇我们先来聊一聊构造方法。
首先要清楚对象的关系,用类声明的变量称为对象,类是创建对象的模板。在用类声明对象后,还必须创建对象。

那么就来到了类中的一种特殊的方法,构造方法
构造方法是专门用来创建对象的方法,格式为:

public 类名称(参数类型 参数名称){
	方法体
}

注意事项:

  • 类中的构造方法的方法名必须与所在类的名字完全一致。
  • 构造方法没有返回值类型,自然也没有return
  • 允许在一个类中编写若干个构造方法,但必须保证它们的参数不同(参数的个数不同,或参数的个数相同,但参数列表中对应的某个参数的类型不同),例如:
 Dog (int a)
    {
    	age=a;  
    }
    Dog (float a) 		//这里如果把float改成int会报错
    {
    	age=(int)a;  
    }
  • 如果类中没有编写构造方法,系统会默认该类只有一个无参数的构造方法,使用默认方法构造的对象的成员变量为默认值。如果类中定义了一个以上的构造方法,那么不再提供默认的构造方法。

下面我们聊一下关键字new
我们在数组部分已经见过这个关键字,在构造对象这里也需要用到它。
之前我们学过的语句,像:
int num[];
FangFa fangfa;
这些叫做数组的声明,方法的声明
声明后是不能直接使用的,因为还没有分配内存空间
所以你声明后,数组不用给长度,对象不用给参数,因为没分配内存,
根本存不进去
要分配内存空间,我们就要用到new

new关键字是一个运算符
运算符的作用就是计算,那么new的计算方法为为变量分配内存后,将计算出一个称作引用的值(该值包含着代表这些变量内存位置及相关的重要信息),即表达式 new 类名称 是一个值,如果把该值赋给对象名,那么系统分配的内存单元将由它们操作管理。分配给对象的变量被习惯性地称作对象的实体
一个类声明的两个对象如果具有相同的引用,二者就有完全相同的变量(实体)。

其创建对象的过程中大致经历了一下三个步骤:
1、将类加载到方法区。
2、在堆中开辟一块内存用于存储新创建的对象。
3、在栈中创建指向对象的引用。

例:

FangFa fangfa;
fangfa = new FangFa(2,4.5);//这样一个对象就创建好了
FangFa fangfa2;
fangfa2 = fangfa;//此时fangfa和fangfa2指向相同的变量。

另外说一下Java中的垃圾收集
这种机制周期地检测某个实体是否已经不再被任何对象所拥有(引用),如果发现这样的实体,就释放实体占有的内存。

数组的创建也可以利用以上知识进行理解。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值