您的位置 首页 > 数码极客

‘java如何用构造方法赋值’java用构造方法给属性赋值

5.4 深入构造器

构造器是一个特殊的方法,这个特殊方法用于创建实例时执行初始化。构造器是创建对象的重要途径,因此Java类必须包含一个或一个以上的构造器。

5.4.1 使用构造器进行初始化

构造器最大的用处就是在创建对象时执行初始化,所谓的初始化就是创建对象时,系统对这个对象的Field进行赋值处理。

举例1:

package com.lang; public class Person { private String name = null; private int age = 0; Person(String name,int age){ = name; = age; } public String getName(){ return ; } public void setName(String name){ = name; } public int getAge(){ return ; } public void setAge(int age){ = age; } public static void main(String[] args) { Person p1 = new Person("张三",35); Sy()); Sy()); } }

注意:如果程序员提供了自定义的构造器,系统就不再提供默认的构造器,在上例的Person类中提供了构造器因此不能再通过new Person()代码来创建实例,因为该类不再包含无参数的构造器。

5.4.2 构造器重载

同一个类里具有多个构造器,多个构造器的形参列表不同,即被称为构造器重载。构造器重载允许Java类里包含多个初始化逻辑,从而允许使用不同的构造器来初始化java对象。

举例1:

package com.lang; public class Test { private String name = null; private int age = 0; Test(String name,int age){ = name; = age; } Test(){ } public String getName(){ return; } publicvoid setName(String name){ = name; } publicint getAge(){ return; } publicvoid setAge(int age){ = age; } publicstaticvoid main(String[] args) { Test test = new Test("张三",35); Sy()); Test test1 = new Test(); Sy()); } }

5.4.3创建对象总结:

到这里结束,一个类的组成我们已经大体讲完了。包括变量,方法,构造方法,它们的使用以及需要注意的地方,那咱们一块来写一个person类。包括成员变量,成员方法,构造方法,以及给成员变量进行赋值。

那我们写了 Person p = new Person(); 也就是当我们创建了一个对象的时候 ,JVM都干了一些什么事?

• 加载Per文件进内存

• 在栈内存为p开辟空间

• 在堆内存为Person对象开辟空间

• 对Person对象的成员变量进行默认初始化

• 对Person对象的成员变量进行显示初始化

• 通过构造方法对Person对象的成员变量赋值

• Person对象初始化完毕,把对象地址赋值给p变量

5.4.4static关键字详细解释

static是一个特殊的关键字,它可以用于修饰方法,变量(Field)等成员,static修饰的成员表明它属于这个类本身,而不是该类的单个实例,通常把static修饰的变量(Field)和方法(method)称为类变量,类方法。不使用static修饰的普通方法、变量则属于该类的单个实例。

举例:

public class Student { private String gender = "男"; private static String name = "wangwu"; public static void main(String[] args) { name = "zhangsan"; Sy(name);//zhangsan Student st = new Student(); = "lisi"; Sy(); //实例的名称 Sy(name); //类的名称 = "男"; Sy(); Student st1 = new Student(); Sy);/ } }

static关键字的特点有哪些?

(1) 它随着类的加载而加载(典型的就是main()方法)。

(2) 它优先于对象存在,在JVM中出现的比对象早。

(3) 而且它被类的所有对象共享。而它的这个特点也是告诉了我们什么时候用static关键字来进行修饰成静态的?比如说咱们的班级编号。

(4) 可以通过类名来直接使用。

接着咱们来画个图来看一看,咱们的图又要添加新的内容了。

静态变量与成员变量的区别有哪些?

1.归属不同2.内存中位置不同3.在内存中出现的时间不同4.调用方式不同


责任编辑: 鲁达

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

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