Java面向对象之构造函数 入门实例

一、基础概念

  1.什么时候定义构造函数:

    当对象创建时,需要对象必须具备的内容,通过构造函数完成。

  2.一般函数和构造函数的区别:

    定义上:构造函数只为对象的初始化,只执行一次。一般函数定义对象应该具备的功能。可以被调用多次。

    运行上:构造函数在对象一创建,就会执行。一般函数是只有被对象调用才执行。

  3.构造函数的格式要求:

     (1). 函数名和类名相同。

     (2). 没有返回值类型。

             (3). 没有具体的返回值。

  4.构造函数的作用:就是对对象进行初始化。

  5.揭秘:

    (1). class定义的类中,如果没有声明任何构造函数,类中会默认有一个空参数的构造函数。

    (2). 如果在class类中自定义了构造函数,默认的构造函数就没有了。构造函数在类中有多个的情况下,是以重载的形式存在的。

  6.注意:

    (1). 构造函数中也可以有return语句,用于结束初始化动作。

    (2). 构造函数的前面加了void,编译可以通过,但是不再是构造函数,而是一般函数。(建议不要这样写)


二、实例代码

  要求用构造函数的重载来实现,Person对象一旦建立就可能有一个公共的名字,或者有一个自己的名字,或者有一个自己的名字和年龄。并打印出来。

 1 class Person
 2 {
 3     private String name;
 4     private int age;
 5     
 6     //多个构造函数在同一个Person类中的重载形式
 7     
 8     //定义一个构造函数,用于给Person对象初始化。
 9     //Person 对象初始化就有姓名。
10     Person(String s)
11     {
12         name = s;
13     }
14     //Person 对象初始化就有姓名和年龄。
15     Person (String s,int a)
16     {
17         name = s;
18         age = a;
19     }
20     //Person 对象初始化什么也没有,构造一个空参的构造函数。
21     Person ()
22     {
23         name = "bady";
24     }
25     
26     public void show1()
27     {
28         System.out.println("name="+name);
29     }
30     public void show2()
31     {
32         System.out.println("name="+name+",age="+age);
33     }
34 }
35 
36 
37 class PersonDemo2
38 {
39     
40     public static void main (String[] args)
41     {
42     //对象会自动调用对应的构造函数,进行初始化。
43         Person p1 = new Person("xiaoming");
44         p1.show1();
45         Person p2 = new Person("xiangming",20);
46         p2.show2();
47         Person p3 = new Person();
48         p3.show1();
49     }
50 }

三、代码运行

  

原文地址:https://www.cnblogs.com/zhuxr/p/8798828.html