Java创建对象(为了产生实例,并进行数据的封装)

对象是根据类创建的。在Java中,使用关键字 new 来创建一个新的对象。创建对象需要以下三步:

1.声明:声明一个对象,包括对象名称和对象类型。

2.实例化:使用关键字 new 来创建一个对象。

3.初始化:使用 new 创建对象时,会调用构造方法初始化对象。

有许多事物刚创建时就有初始化的数据

于是就有了

构造函数(构造系)

体现

1.没有返回值类型——构造完就结束,需要结果,void也不要写,区别于一般函数

2.构造函数和类名一致

3.没有具体返回值

属性

创建对象时自动调用构造函数,因为该对象中的属性要初始化

定义完一个类,在创建对象的时候就有一个默认的空参数的构造函数,该构造函数是编译器编译完Java文件时,在class文件中(编译器)自动生成的(省略不写,如:main函数里面的return不用写),如果类中有构造函数,那么编译器就不会在该类中添加(自动生成)默认的空参数的构造函数。

细节

1.有些对象一初始化就有多个属性值,有些一初始化没有

定义多个构造函数(重载),可以实现任何属性初始化赋值

2.构造函数后有默认的return,省略了而已,用于结束初始化动作

3.构造函数可以被私有化(private修饰),但是不能创建对象,作用:其他程序无法创建该对象,只能在本类创建。即,如果一个类不想被别的类访问,那么可以通过构造函数私有化来实现。

构造函数与一般函数的区别

1.写法不一样——构造含税的名称必须和类名一样,且构造函数没有返回值

2.运行上不一样——对象一创建就会调用构造函数,一般方法是对象创建后才会调用所需要的一般函数

3.有了构造函数依旧需要set函数,因为属性可能要改

4.构造函数只有创建函数的时候调用一次(只初始化一次),一般函数可以调用无数次

5.当构造函数之间进行互相调用时,用this()来引用对象

如:

private Person(String n)

{

name=n;

}

Person (String n,int a)

{

this(n);//调用一个字符串参数的构造函数

age=a;

}

%this表示指向对象地址,所以操作时是对this指向的对象就行操作//对象调用的方法中都有this引用指向着调用该方法的对象,而且this必须放最前面,先执行初始化再进行赋值,因为this只能有一句,因为它必须在第一行。

this的使用

%函数变量里面的属性省略了this.表示对象的,一般可以省略,但是增加了可以增加可读性,如果有局部变量与局部变量同名,那么不能省略,以防止有局部变量里面含有相同名字的变量。

对象创建过程

1.加载类文件进入方法区,并进行空间分配

2.如果有静态变量,先默认初始化,再显示初始化

3.如果类中有静态代码块,要执行,仅一次

4.通过new在堆内存中开辟空间,并明确首地址值

5.对对象中的属性默认初始化

6.调用对应的构造函数进行初始化

/*

1.super()://访问父类中的构造函数

2.成员变量的显示初始化

3.构造代码块初始化

*/

7.构造函数内部:

7-1调用父类构造函数super();

7-2成员变量的显示初始化

7-3构造代码块初始化

7-4构造函数内容自定义内容初始化

8.对象初始化完毕后,将地址赋值给引用变量

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值