【Java基础】面向对象-构造方法

目录

构造方法简介

默认构造方法

带参构造方法

构造方法和普通方法的区别


构造方法简介

构造方法是一种特殊的方法,用于初始化对象。创建构造方法有以下几个规则:

  1. 构造方法名=类名
  2. 构造方法不能明确返回类型
  3. 一个类可以有多个不同参数的构造方法
  4. 构造方法不能被abstract,static,final和syncchronized关键字修饰

构造方法有以下两种类型:

  1. 默认构造方法(无参数构造方法)
  2. 带参构造方法

默认构造方法

没有任何参数的构造方法称为默认构造方法

所有类都会有构造方法,即使你没有显性的写出来,编译器也会自动生成无参数的默认构造方法

public class construct {
    public static void main(String[] args) {
        
    }
}

执行以上代码不会有任何输出,但是编译器编译后的class文件会自动生成构造方法

public class construct {
    public construct() { /* compiled code */ }

    public static void main(java.lang.String[] args) { /* compiled code */ }
}

带参构造方法

有一个或者多个参数的构造方法称为带参构造方法

带参构造方法以满足实例对象的初始化,用于为不同的对象提供不同的值

带参构造方法也是一种方法,因此能够像普通方法一样重载,编写不同参数的构造方法以满足实例化对象所需的不同值

public class construct {
    private String userName;
    private int userID;

    //#1 带有两个参数的构造方法
    public construct(String userName, int userID) {
        this.userName = userName;
        this.userID = userID;
    }

    //#2 带有一个参数的构造方法
    public construct(String userName) {
        this.userName = userName;
    }

    //#3 无参数构造方法,类中已经有带参构造方法,如果你需要用到无参数构造方法,必须写出来,如果不需要用到则可以删除以下代码
    public construct() {
    }

    void constructMethod1() {
        System.out.println(this.userName + this.userID);
    }

    void constructMethod2() {
        System.out.println(this.userName);
    }
    void constructMethod3() {
        System.out.println("不需要任何参数就能实现的代码");
    }

    public static void main(String[] args) {
        //#1构造方法的初始化
        construct construct1 = new construct("construct1 user", 1);
        construct1.constructMethod1();

        //#2构造方法的初始化
        construct construct2 = new construct("construct1 user");
        construct2.constructMethod2();

        //#3构造方法的初始化
        construct construct3 = new construct();
        construct3.constructMethod3();
    }
}

构造方法和普通方法的区别

构造方法普通方法
构造方法用于实例化对象普通方法是被对象调用处理数据的行为
构造方法不能有返回类型普通方法有返回类型,除了void声明的方法
构造方法是隐性调用普通方法是显性调用
构造方法必须和类名相同普通方法可以和类名相同,也可以和类名不同,建议普通方法不要和类名相同,即使你可以那样做

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值