02-Java类构造方法初学习

概要

Java类的有参和无参构造方法理解

注意事项

1.构造器(也叫构造方法)必须与类名相同,(如果一个源文件有多个类,那构造器必须与公共类同名)
2.每个类可以有一个以上构造器,且可以有0、1.或者1个以上的参数,相当于方法重载
3.构造器没有返回值
4.构造器可以被任意权限修饰符修饰,但通常用public,因为构造方法的作用就是初始化,若不用public修饰,则不能被所有类调用该类创建对象,(若被private修饰,则该类不能被其他类调用,这种情况只能有一个实例对象,这就是单例设计模式的思想)
5.构造器总是伴随着new操作一起调用

案例演示

  1. 无参构造方法
public class Person {
    String name;
    int age;
    Person(){
        System.out.println("无参构造方法...");
    }

    public static void main(String[] args) {
        Person person = new Person();
    }
}

效果:
在这里插入图片描述
2.1 不正常的有参构造方法(方法内没赋值)

public class Person {
    String name;
    int age;
    Person(String name,int age){
        System.out.println(name+","+age+"有参构造方法...");
    }

    public static void main(String[] args) {
        Person person = new Person("张三",18);
    }
}

效果:

在这里插入图片描述
2.2 注意:上面有参构造器创建对象时赋值无法覆盖有参构造方法内部的赋值

public class Person {
    String name;
    int age;
    Person(String name,int age){
        name = "里斯";
        age = 20;
        System.out.println(name+","+age+"有参构造方法...");
    }

    public static void main(String[] args) {
        Person person = new Person("张三",18);
    }
}

效果:
在这里插入图片描述
2.3 正常的有参构造器带this的有参构造

public class Person {
    String name;
    int age;
    Person(String name,int age){
        this.name = name;  //this 区分实例变量和局部变量
        this.age = age;
        System.out.println(name+","+age+"有参构造方法...");
    }
    public static void main(String[] args) {
        Person person = new Person("1", 1);
    }
}

效果:
在这里插入图片描述

小结

1.如果一个类没写构造器,编译器会自动添加无参构造器,(如果自己手动加了构造器,无论有参还是没参,默认构造器都会失效)
2.如果一个类加了有参,则编译器只认有参,不认默认无参

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值