Java的构造器

构造器
1.package com.msb2;
2.
3./**
4. * @Auther: msb-zhaoss
5. */
6.public class Person {
7.    //构造器:没有任何参数的构造器我们叫做:空参构造器--》空构造器
8.    public Person(){
9.        /*age = 19;
10.        name = "lili";
11.        height = 169.5;*/
12.    }
13.    //属性:
14.    String name;
15.    int age;
16.    double height;
17.    //方法:
18.    public void eat(){
19.        System.out.println("我喜欢吃饭");
20.    }
21.}
1.package com.msb2;
2.
3./**
4. * @Auther: msb-zhaoss
5. */
6.public class Test {
7.    //这是一个main方法,是程序的入口:
8.    public static void main(String[] args) {
9.        //创建一个Person类的具体的对象/实例/实体:
10.        /*
11.        创建对象的过程:
12.        1.第一次遇到Person的时候,进行类的加载(只加载一次)
13.        2.创建对象,为这个对象在堆中开辟空间
14.        3.为对象进行属性的初始化动作
15.
16.        new关键字实际上是在调用一个方法,这个方法叫构造方法(构造器)
17.        调用构造器的时候,如果你的类中没有写构造器,那么系统会默认给你分配一个构造器,只是我们看不到罢了。
18.        可以自己显式 的将构造器编写出来:
19.        构造器的格式:
20.        [修饰符] 构造器的名字(){
21.
22.        }
23.        构造器和方法的区别:
24.        1.没有方法的返回值类型
25.        2.方法体内部不能有return语句
26.        3.构造器的名字很特殊,必须跟类名一样
27.
28.        构造器的作用:不是为了创建对象,因为在调用构造器之前,这个对象就已经创建好了,并且属性有默认的初始化的值。
29.        调用构造器的目的是给属性进行赋值操作的。
30.
31.        注意:我们一般不会在空构造器中进行初始化操作,因为那样的话每个对象的属性就一样了。
32.        实际上,我们只要保证空构造器的存在就可以了,里面的东西不用写
33.         */
34.        Person p = new Person();
35.        System.out.println(p.age);
36.        System.out.println(p.name);
37.        System.out.println(p.height);
38.
39.        Person p2 = new Person();
40.        System.out.println(p2.age);
41.        System.out.println(p2.name);
42.        System.out.println(p2.height);
43.    }
44.}

构造器重载

1.package com.msb3.msb2;
2./**
3. * @Auther: msb-zhaoss
4. */
5.public class Person {
6.
7.    //属性:
8.    String name;
9.    int age;
10.    double height;
11.
12.    //空构造器
13.    public Person(){
14.
15.    }
16.    public Person(String name,int age,double height){
17.        //当形参名字和属性名字重名的时候,会出现就近原则:
18.        //在要表示对象的属性前加上this.来修饰 ,因为this代表的就是你创建的那个对象
19.        this.name = name;
20.        this.age = age;
21.        this.height = height;
22.    }
23.    public Person(String a,int b){
24.        name = a;
25.        age = b;
26.    }
27.
28.    //方法:
29.    public void eat(){
30.        System.out.println("我喜欢吃饭");
31.    }
32.}
1.package com.msb3.msb2;
2.
3./**
4. * @Auther: msb-zhaoss
5. */
6.public class Test {
7.    //这是一个main方法,是程序的入口:
8.    public static void main(String[] args) {
9.        /*
10.        1.一般保证空构造器的存在,空构造器中一般不会进行属性的赋值操作
11.        2.一般我们会重载构造器,在重载的构造器中进行属性赋值操作
12.        3.在重载构造器以后,假如空构造器忘写了,系统也不会给你分配默认的空构造器了,那么你要调用的话就会出错了。
13.        4. 当形参名字和属性名字重名的时候,会出现就近原则:
14.        在要表示对象的属性前加上this.来修饰 ,因为this代表的就是你创建的那个对象
15.
16.         */
17.
18.        Person p = new Person();
19.        /*p.age = 19;
20.        p.name = "lili";
21.        p.height = 180.4;*/
22.
23.        Person p2 = new Person("lili",19,180.4);
24.        System.out.println(p2.age);
25.        System.out.println(p2.height);
26.        System.out.println(p2.name);
27.
28.    }
29.}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值