Java面向对象-构造方法,this关键字

构造方法

概念:构造方法是一个特殊的方法,这个特殊方法用于创建实例时执行初始化操作;

 

上代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

package com.java.chap03.sec04;

 

/**

 * 定义人类

 * @author user

 *

 */

public class People {

 

    // 定义属性 

    private String name; // 实例化对象时,默认值是null

    private int age; // 实例化对象时,默认值是0

     

    /**

     * 默认构造方法

     */

    People(){

        System.out.println("默认构造方法!");

    }

     

 

     

    public void say(){

        System.out.println("我叫:"+name+",我今年:"+age);

    }

     

    public static void main(String[] args) {

        People people=new People();

        people.say();

    }

}

 

运行输出:

1

2

默认构造方法!

我叫:null,我今年:0

 

这里我们发现: 实例化对象的时候,String类型的默认值是null,int基本类型的默认值是0 ;

People(){} 构造方法 

特点 1,没有返回值类型,区别于其他一般方法;

   2,方法名和类名一样;

 

 

我们现在可以写一个有参数的构造方法,用来初始化对象属性;

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

package com.java.chap03.sec04;

 

/**

 * 定义人类

 * @author user

 *

 */

public class People {

 

    // 定义属性 

    private String name; // 实例化对象时,默认值是null

    private int age; // 实例化对象时,默认值是0

     

    /**

     * 默认构造方法

     */

    People(){

        System.out.println("默认构造方法!");

    }

     

    /**

     * 有参数的构造方法

     * @param name2

     * @param age2

     */

    People(String name2,int age2){

        System.out.println("调用的是有参数的构造方法");

        name=name2;

        age=age2;

    }

     

    public void say(){

        System.out.println("我叫:"+name+",我今年:"+age);

    }

     

    public static void main(String[] args) {

        // People people=new People();

        People people=new People("张三",20);

        people.say();

    }

}

 

运行输出:

1

2

调用的是有参数的构造方法

我叫:张三,我今年:20

 

这里我们定义了一个有参数的构造方法,参数有name2 age2,当调用构造方法的时候,用于赋值给name和age属性;

 

你可能感兴趣的:(JAVA基础到高级)