无参构造和全参构造

  • 方法名与类名相同 方法体没有返回值但是在方法声明的时候却不需要使用void修饰的方法我们称之为构造方法

  • 构造方法的作用 用于初始化对象 对象的属性赋值

  • 没有参数的构造方法我们称之为无参构造方法

  • 代码中没有编写过构造方法 jvm在执行对象初始化的时候帮助程序追加无参构造方法

  • 注意当一个类中 既没有无参构造方法也没有有参构造方法的时候jvm会追加一个无参构造方法

  • 但是当一个类中 存在有参构造方法没有编写无参构造方法的时候jvm不会追加无参构造方法

  • 所以不论在任何情况下一定要自己手写有一个无参构造方法

//以下是无参构造
@Setter
@Getter
public class Person01 {
    /**
     * 昵称
     */
    private String nickname;

    /**
     * 性别 1代表男性 0代表女性
     */
    private int gender;

    /**
     * 年龄
     */
    private int age;
    public Person01(){
        System.out.println("我是Person01的无参构造方法");
    }
}
public class Person01Test {
    @Test
    public void test01(){
    //直接实例化,然后运行,就会得到结果
        Person07 person01 = new Person01();
    }
}
//全参构造法
@Setter
@Getter
public class Person02 {

    /**
     * 昵称
     */
    private String nickname;

    /**
     * 性别 1代表男性 0代表女性
     */
    private int gender;

    /**
     * 年龄
     */
    private int age;

    public Person02(){
        System.out.println("我是Person02的无参构造方法");
    }

    public Person02(String nickname, int gender, int age) {
        System.out.println("我是Person02的全参构造方法");
        this.nickname = nickname;
        this.gender = gender;
        this.age = age;
    }
}
public class Person02Test {
  //test01和test02两种赋值写法
  
  @Test
    public void test01() {
        Person02 person02 = new Person02();
        person02.setNickname("海王");
        person02.setGender(1);
        person02.setAge(40);
        System.out.println("姓名 >>> " + person02.getNickname());
        System.out.println("性别 >>> " + (person02.getGender() == 1 ? "童锦程" : "刘秘书"));
        System.out.println("年龄 >>> " + person02.getAge());
    }
    
    
    @Test
    public void test02() {
        Person02 person02 = new Person02("海王",1,40);
        System.out.println("姓名 >>> " + person02.getNickname());
        System.out.println("性别 >>> " + (person02.getGender() == 1 ? "童锦程" : "刘秘书"));
        System.out.println("年龄 >>> " + person02.getAge());
    }

}
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值