您的位置 首页 > 数码极客

〔java如何用构造方法赋值〕java定义构造方法并赋值

java面向对象之构造器:

我们一直在学习怎么封装class,一个class封装好之后的目的一般是创建实例对象,我们其实已经做过了。

Dog dog = new Dog();

new 一个对象的时候到底发生了什么事情呢?

1. java在new一个对象的时候,会先查看对象所属的类有没有被加 载到内存,如果没有的话,就会先通过类的权限定名来加载, 这个过程我们后边聊。

2. 加载并初始化类完成后,再进行对象的创建工作。

java程序员必备的基础知识_java面向对象之构造器

我们先聊聊创建的过程:

1. 在堆区分配对象需要的内存。

2. 对所有实例变量赋默认值。

3. 执行构造方法,比如我们可以使用构造方法赋值。(不太准 确,以后会慢慢补充)

4. 在栈区定义引用变量,然后将堆区对象的地址赋值给它。

java程序员必备的基础知识_java面向对象之构造器

构造方法,也叫构造器,会在new对象的时候主动被调用。

但是,事实上,我们并没有看到任何构造方法。

每个java类,会默认送你一个构造方法,这个方法它是这个样子的:

public Dog(){ }

我们可以写出来,也可以不写,这个构造方法什么都没做,我们可

以想办法让它做一些事情,比如:

public Dog(){ name = "teddy"; age = 12; } public static void main(String[] args) { Dog dog = new Dog(); Sy); Sy); } 我们并没有调用这个方法啊: 但是,结果却出来了: teddy 12

当然如果我们想自己按照自己的意愿去构造实例,我们还可以定义 这样的构造器:

同时new的时候就要传递参数了:

public Dog(String name,int age){ Sy("验证构造方法被调用的时机:【"+ name + "】被创建! "); = name; = age; public static void main(String[] args) { Dog dog = new Dog("jinmao",23); Sy); Sy); } 结果: 验证构造方法被调用的时机:【jinmao】被创建! jinmao 23

此时,如果我们把那个没有参数的构造器删除,

你会发现已经不能这么去new对象了。

public static void main (String args[]){ Dog dog = new Dog();//因为有了有参构造,所以无参构造不能 }

【注】一旦自己写了构造器,系统将不再赠送,所以我们一般【会 自己补充上】。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“java如何用构造方法赋值,java定义构造方法并赋值,java用构造方法给属性赋值,java无参构造方法赋值,Java如何快速构造方法”边界阅读