浅谈构造函数

来源:互联网 发布:个人免费网站知乎 编辑:程序博客网 时间:2024/05/04 19:36

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

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

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

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

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

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

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

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

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

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

注意:

  • 构造函数如果完成了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();    }}
0 0
原创粉丝点击