我是靠谱客的博主 无语小蝴蝶,最近开发中收集的这篇文章主要介绍Java学习之类(三):构造方法和创建对象,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

学会类和方法的定义后,我们就可以使用类来声明变量了,用类声明的变量被称为对象,用类声明对象后必须创建对象(为对象分配所用的变量)

类是创建对象的模板,当使用一个类创建一个对象时,也称给出个这个类的一个实例

第一步,先学习构造方法
1、构造方法是类中一个特殊的方法,构造方法的名字必须和其类名相同,并且没有类型。
2、一个类中可以有多个构造方法,但必须保证它们的参数不同(参数的个数不同,或参数的个数相同,但某个参数的类型不同)。
3、若类中没有编写构造方法时,系统会默认生成一个构造方法,并且是无参数,方法体中也没有语句的。

class Point
{
int x,y;
Point()
//构造方法一,若没有编写下面两个构造方法,系统会自动生成此默认的构造方法
{
}
Point(int a)
//构造方法二
{
x = a;
}
Point(int a,int b)
//构造方法三
{
x = a;
y = b;
}
}

说明一下:
1、如果类中没有自己编写构造方法,那么系统会自动生成构造方法:无参无语句的构造方法
2、如果类中定义了一个或者多个构造方法,那么系统不会提供默认的构造方法
3、构造方法没有类型 void Point(int a,int b) 是错误的

知道了构造方法,那么构造方法是拿来干吗用的呢?
顾名思义,构造方法是拿来构造对象也称创建对象的。

第二步:创建对象

创建对象包括对象的声明为对象分配变量

1、对象的声明:类的名字 对象的名字;
如: Point one_point;

2、为声明的对象分配变量(创建对象):使用new运算符和构造方法

这里我们拿上一步的Point类来说明

public class Example_1
{
public static void main(String args[])
{
Point one_point,two_point;
//声明两个对象
one_point = new Point();	//使用构造方法一
two_point = new Point(5,6)	//使用构造方法二
//可以把声明和创建写成一步
//Point one_point = new Point();
}
}

这里我们简单分析一下
1、第一步:我们声明了两个对象one_point和two_point,因为只是声明,这个对象中还没有任何数据,此时都只是空对象。

空对象不能引用,因为它没有任何"实体",必须再进行为对象分配变量的操作(也就是使用构造方法)

2、第二步:我们分别使用了new运算符和两个不同的构造方法
new Point(5,6);系统会做下列两件事

(1)为x,y两个变量分配内存。如果成员变量在声明时没有指定初值,整型的成员变量默认为0,浮点型为0.0,boolean默认是false,引用型默认是null

(2)new运算符为变量x,y分配内存后,计算出一个称作引用的值(包含变量内存位置和相关信息),如果把这个值赋给two_point"
two_point = new Point(5,6);
那么系统分配的x,y的内存单元由two_point()进行管理
x,y属于对象two_point的实体

总结一下:
1、所谓创建对象,就是为对象分配变量,并获得一个引用,确保这些变量由该对象来操作管理
2、new 运算符只能和类的构造方法进行运算,最后的结果是一个十六进制数,称作对象的引用,把这个引用赋给一个对象(由类声明的对象变量 如 Point two_point)这个对象就拥有了这些被分配内存的成员变量

通过例子加深印象吧

class People
{
int height;
}
class Cat
{
String ear;
Cat(String a)
{
ear =a;
}
}
class Example_2
{
public static void main(String args[])
{
People Li_Ming;
Li_Ming = new People();	//使用默认的构造方法创建对象
//以上两句等同于People Li_Ming = new People();
//虽然People类没有定义构造方法,但是系统会自动生成默认的构造方法(无参无语句)
//这时Li_Ming这个对象就拥有一个值为0的变量height;(没有定义初值,系统会进行默认赋值)
Cat miao = new Cat("猫有两只耳朵");
//使用自己编写的构造方法(自己编写构造方法后,系统不提供默认的构造方法)
//这时miao这个对象拥有一个"猫有两只耳朵"的字符串变量ear.
}
}

最后

以上就是无语小蝴蝶为你收集整理的Java学习之类(三):构造方法和创建对象的全部内容,希望文章能够帮你解决Java学习之类(三):构造方法和创建对象所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部