浅谈构造函数

今天主要来说说构造函数。

构造函数:构建创造对象时调用的函数。

作用:可以给对象进行初始化

值得注意的是,创建对象都必须要通过构造函数初始化

但是有时候我们并没有看到有构造函数,这是因为一个类中如果没有定义过构造函数,那么该类中会有一个默认的空参数构造函数。如果我们在类中定义了指定的构造函数,那么类中的默认构造函数就没有了。

一般函数和构造函数什么区别呢?

构造函数:对象创建时,就会调用与之对应的构造函数,对对象进行初始化。
一般函数:对象创建后,需要函数功能时才调用。

构造函数:对象创建时,会调用只调用一次。
一般函数:对象创建后,可以被调用多次。

什么时候定义构造函数呢?

在描述事物时,该事物一存在就具备的一些内容,这些内容都定义在构造函数中。 构造函数可以有多个,用于对不同的对象进行针对性的初始化。
多个构造函数在类中是以重载的形式来体现的。

注意:

  • 构造函数如果完成了set功能。set方法是否需要。
  • 一般函数不能直接调用构造函数。
  • 构造函数如果前面加了void就变成了一般函数。
  • 构造函数中是有return语句的。

下面举一个小例子:

package com.Tips;

 class OperateTest {

     public static String name;
     public static int age;

     //定义一个空参数的构造函数
     OperateTest(){

         name = "default";
         age = 0;
         System.out.println("person run");
     }

     //定义一个有name参数的构造函数
     OperateTest(String n){

         name = n;
     }

//定义一个有完整参数的构造函数     
     OperateTest(String n,int a){

         name = n;
         age = a;
     }


     //输出构造结果    
     public static void speak(){

         System.out.println(name+":"+age);
     }

    public static void main(String[] args) {

        //实例化P1并进行构造函数的调用
        OperateTest p1 = new OperateTest("xiaoming");
        p1.speak();

        //实例化P2并进行构造函数的调用
        OperateTest p2 = new OperateTest("lihua",20);
        p2.speak();
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值