Java中类中的构造器(构造方法)

1、java中类的构造器是什么:它是一个方法

2、它有什么作用:它用于类的实例化对象的初始化

3、我们用代码来说明它是怎么一回事儿:

(1)、我们先来创建一个main类,在他里面用于实现其他类的实例化以及方法属性的调用。

public class Main {
    public static void main(String[] args) {

    }
}

(2)、我们都知道,类是对一类事物的抽象,抽象出他们所具有的共同属性和方法,这里我们抽象出来一个动物类,动物有很多,动物的名字,颜色等这些都是动物都有的特点(属性),会叫,会跑,会吃饭,这些是动物所具有的行为(方法)。接下来我们定义一个动物类:

public class Cat {
    private String name;
    private String color;
    public void eat(){
        System.out.println("动物都会吃饭");
    }
    public void shout(){
        System.out.println("动物都会叫");
    }
}

(3)、定义完这两个类之后呢,我们在Main类中,去实例化Cat这个类的对象,这里我们要注意,当我们通过new关键字,实例化类对象的时候,我们就调用了一个构造器,虽然代码中我们没写,但是系统会自动的调用一个隐式的构造方法。具体如下:

 上面这个图呢,我们把系统默认的那个构造方法给写了出来用于测试,我们可以看出,当我们实例化类Cat的时候,我们只是实例化了一个对象,并没有执行任何操作,系统这时会自动调用构造方法Cat这个方法,然后执行它的方法体,输出了我们自己定义的那句话。

(4)总结系统默认的构造方法的特点:①方法名没有返回值类型,其修饰符只有public。

                                                               ②方法名和我们定义的这个类名是相同的。

                                                               ③方法中没有任何内容,他只是用于初始化类的实例化对                                                                     象。

4、java构造方法中能不能做一些工作呢,当然能,我们可以通过构造方法对当前类所拥有的属性进行赋值

(1)、如果我们想要通过一个方法,对属性赋值的话,那么我们需要在这个方法里传入属性参数,代码如下:

  public Cat(String name,String color){
        this.name=name;
        this.color=color;
    }

 以上这个方法是定义在类Cat中的方法,它是一个带有参数的构造方法。

(2)定义完带有参数的构造方法之后,我们如何去用它呢,代码如下:

我们在Main类中去实例化Cat这个类的一个对象,在实例化的时候呢,我们可以对Cat当前所具有的属性进行初始化,具体对哪个属性进行初始化,那要看我们在带有参数的构造方法中,都给他了哪几个属性参数。

Cat cat1=new Cat("Black Cat","黑色");

 这一行代码括号里面的东西,就是对我们在带有参数的构造方法属性进行赋值。

(3)我们对刚才实例化对象之后的结果进行打印输出,代码如下:

在Cat这个类里面声明一个方法,用于打印输出我们刚才对属性的初始化

public void getName(){
        System.out.println("这只猫叫做:"+this.name+",它的颜色是:"+this.color);
    }

然后在Main类中,通过我们实例化的对象cat1.getName调用上面这个方法,代码如下:

          cat1.getName();

运行结果如下图所示:

 完整代码如下:

 (4)从代码中我们可以看到我们在Cat这个类中定义了一个无参的构造方法,还有一个带有两个参数的构造方法,那如果我们把无参的构造方法删除之后,有参构造方法还会执行吗。程序会执行,但是会有警告,这告诉我们,在定义有参构造方法的时候,必须要显式的定义出无参构造方法。

 总结:构造方法的方法名和类型相同,没有返回值类型,无参构造方法系统会默认调用,不用我们声明定义,但是如果我们自定义了一个有参的构造方法,那么我们就要显示的定义无参构造方法,它的作用就是当我们new实例化一个类的对象的时候,系统就是自动执行这个构造方法,并进行一些初始化工作。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值