大聪明教你学Java | 深入浅出聊构造方法

大聪明教你学Java | 深入浅出聊构造方法,第1张

大聪明教你学Java | 深入浅出聊构造方法 前言

学习 Java 的时候我们经常会听到一个词,那就是“构造方法”。记得我刚学习构造方法的时候,我总是会想:构造方法和普通方法有啥不一样?构造方法咋用呢?估计是我脑子笨,这些问题我思考了好久才想明白… 闲言少叙,直接切入正题,今天就和大家聊一聊什么是构造方法。

构造方法

在说什么是构造方法之前,我们先看看什么是方法。方法就是一些语句凑在一起实现了某些功能的集合,它通常由以下几部分组成

修饰符 返回值类型 方法名(参数类型 参数名, ....){
   方法体;
   return 返回值;
}

当然了, 一个方法里面可以有参数,也可以没有参数;可以有返回值,也可以没有返回值。那构造方法就和方法不太一样了,构造方法有这么两个特点:

    构造方法的方法名必须要和类名一致。没有返回值类型,更没有具体的返回值(void 都不需要写)。

说到这,大家可能就知道构造方法的格式了,没有错!!就是这样

修饰符 类名(参数类型 参数名, ....){
   方法体;
}

还是老规矩,下面用代码给大家细细讲解一下,我们首先定义一矩形类,并在其中定义一个带参的构造方法

public class Rectangle {
    public int length;
    public int width;
    public int area(){
        return length * width;
    }

    
    public Rectangle(int width, int length){
        this.length = length;
        this.width = width;
    }
}

接下来我们写一个 main 方法,去实例化一个矩形对象

public class RectangleTest {
    public static void main(String[] args) {
        //实例化一个长宽均为5的矩形对象
        Rectangle rectangle = new Rectangle(5, 5);
        System.out.println("矩形的面积 = " + rectangle.area());
    }
}

我们执行 main 方法后可以看到控制台打印出了这个矩形的面积

有了上面的代码,大家应该就明白了构造方法的作用,构造方法就是类构造对象时调用的方法,主要用来实例化对象。 我们通过自己定义的一个带参构造方法实例化了一个5*5的矩形,并计算了这个矩形的面积。这时候肯定有小伙伴会产生疑问了:无参构造方法怎么用呢?
在我们编写代码的时候经常会用到无参的构造方法,或许有些小伙伴用到了,但是并不知道自己使用的就是无参构造方法。咱们改造一下上面的代码~

public class Rectangle {
    public int length;
    public int width;

    public int area(){
        return length*width;
    }
}
public class RectangleTest {
    public static void main(String[] args) {
        //实例化一个长宽均为5的矩形
        Rectangle rectangle = new Rectangle();
        rectangle.length = 5;
        rectangle.width = 5;
        System.out.println("矩形的面积 = " + rectangle.area());
    }
}

这里需要说一下构造方法的第三个特点了:自定义类中必定有构造方法,若不写,系统则会自动添加无参构造方法。 我们把带参构造方法删除后,在代码编译阶段,就自动帮助我们添加了一个无参构造方法。在main方法中
Rectangle rectangle = new Rectangle(); 就是调用了无参构造方法来实例化了一个矩形对象。这也就是为什么我们在没有学习构造方法之前也可以通过 new 关键字创建对象的原因啦 o( ̄▽ ̄)ブ

最后我们在对构造方法做一个总结

一个类中可以有多个构造方法,多个构造方法是以重载的形式存在的。构造方法是可以被 private 关键字修饰的,被 private 关键字修饰后代表了其他程序无法创建该类的对象。构造方法在对象创建时就执行了,而且只执行一次;一般方法是在对象创建后,需要使用时才被调用,而且可以被多次调用。构造方法和构造函数是同一个东西,只是 Java 习惯叫方法,而 C/C++ 习惯叫函数。很多博客中都把构造方法的作用说成是为了创建一个对象,其实这种理解是存在瑕疵的。我们必须承认,在创建一个类的对象时是一定要要调用构造方法的,但构造方法的作用其实并不是为了创建对象,而是为了“初始化对象的内部状态”,这句话听起来不太好理解,说白了就是为了给对象的各个属性赋初始值。 小结

本人经验有限,有些地方可能讲的没有特别到位,如果您在阅读的时候想到了什么问题,欢迎在评论区留言,我们后续再一一探讨‍

希望各位小伙伴动动自己可爱的小手,来一波点赞+关注 (✿◡‿◡) 让更多小伙伴看到这篇文章~ 蟹蟹呦(●’◡’●)

如果文章中有错误,欢迎大家留言指正;若您有更好、更独到的理解,欢迎您在留言区留下您的宝贵想法。

你在被打击时,记起你的珍贵,抵抗恶意;
你在迷茫时,坚信你的珍贵,抛开蜚语;
爱你所爱 行你所行 听从你心 无问东西

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5707871.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存