iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >详解JAVA中的构造方法
  • 571
分享到

详解JAVA中的构造方法

java 2023-09-07 05:09:49 571人浏览 泡泡鱼
摘要

目录 一、构造方法的概念 二、构造方法的特性 一、构造方法的概念         构造方法(也称为构造器)是一个特殊的成员方法,名字必须与类名相同,在创建对象时由编译器自动调用,并且在整个对象的生命周期内只调用一次。 代码演示:

目录

一、构造方法的概念

二、构造方法的特


一、构造方法的概念

        构造方法(也称为构造器)是一个特殊的成员方法,名字必须与类名相同,在创建对象时由编译器自动调用,并且在整个对象的生命周期内只调用一次。

代码演示:

public class Data {    public int year;    public int month;    public int day;    //构造方法:    public Data(int year, int month, int day) {        this.year = year;        this.month = month;        this.day = day;        System.out.println("调用构造方法");    }    public void printDate() {        System.out.println(year + "-" + month + "-" + day);    }    public static void main(String[] args) {        //创建一个对象        Data data = new Data(2022,11,13);        data.printDate();    }}

运行结果 :

注意:

         构造方法的作用就是对对象中的成员进行初始化,并不负责给对象开辟空间。

二、构造方法的特性

 1.构造方法的名字必须与类名相同

验证如下:

        因为如果构造方法的名字与类名不相同,JAVA的编译器就会将该方法归结为成员方法,而不会将其认定为构造方法,而构造方法是无返回值类型的,但是成员方法是必须有返回值类型,因此这就会导致编译通不过。

2.没有返回值类型,设置成void也不行

        这就是JAVA中对构造方法的规定,我们遵守即可

3.创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次(相当于每个人的出生,每个人只能出生一次)。

验证如下:

public class Data {    public int year;    public int month;    public int day;    //构造方法:    public Data(int year, int month, int day) {        this.year = year;        this.month = month;        this.day = day;        System.out.println("调用构造方法");    }    public void printDate() {        System.out.println(year + "-" + month + "-" + day);    }    public static void main(String[] args) {        //创建一个对象,并且在new对象的时候由编译器自动调用构造方法        Data data = new Data(2022,11,13);        data.printDate();    }}

运行结果:

        在运行结果中可以清晰地看到调用了Data中的构造方法 ,但是我们并没有在new出类后调用构造方法,这正验证了构造方法是在new对象时由编译器自动调用。

4.构造方法可以重载(用户可以根据自己的需求提供不同参数的构造方法)

验证如下:

public class Data {    public int year;    public int month;    public int day;        //不带参数的构造方法    public Data() {        this.year = 2022;        this.month = 11;        this.day = 13;    }    //带有三个参数的构造方法:    public Data(int year, int month, int day) {        this.year = year;        this.month = month;        this.day = day;        System.out.println("调用构造方法");    }    public void printDate() {        System.out.println(year + "-" + month + "-" + day);    }    public static void main(String[] args) {        //创建两个个对象        Data data = new Data(2022,11,13);        Data data1 = new Data();        data.printDate();    }}

        上述代码中的两个构造方法名字相同,参数列表不同,因此构成了方法重载。 

5.如果用户没有显式定义构造方法,编译器就会默认生成一份构造方法,而且默认生成的构造方法一定是无参的

验证如下:

public class Data {    public int year;    public int month;    public int day;    //没有显式定义构造方法    public void printDate() {        System.out.println(year + "-" + month + "-" + day);    }    public static void main(String[] args) {        //创建对象        Data data = new Data();        data.printDate();    }}

        上述代码中没有显式定义构造方法,但是依然可以new出对象,这就验证了编译器会默认给我们生成一个不带参数的构造方法 

注意:

         一旦用户定义了一个构造方法,编译器就不会自动生成构造方法

验证如下:

public class Data {    public int year;    public int month;    public int day;    //定义构造方法:    public Data(int year, int month, int day) {        this.year = year;        this.month = month;        this.day = day;    }    public void printDate() {        System.out.println(year + "-" + month + "-" + day);    }    public static void main(String[] args) {        //创建对象        //这里如果编译器会自动生成,则生成的构造方法一定是无参的        //则此处创建对象就可以通过编译        //但实际情况是:编译报错        Data data = new Data();        data.printDate();    }}

 6.构造方法中,可以通过this调用其他的构造方法来简化代码

验证如下:

public class Data {    public int year;    public int month;    public int day;    //不带参数的构造方法    public Data() {        //这里通过this调用了带有三个参数的构造方法        this(2022,11,13);      }    //带有三个参数的构造方法:    public Data(int year, int month, int day) {        this.year = year;        this.month = month;        this.day = day;    }    public void printDate() {        System.out.println(year + "-" + month + "-" + day);    }    }

注意: 

        this()必须是构造方法中的第一条语句 ,且this不能形成环

验证如下:

 


总结

        以上就是本篇博客的全部内容,本文小编详细讲解了JAVA中构造方法的作用和构造方法的注意事项,希望对每一位读者都有帮助。

制作不易,望点赞、收藏、关注支持一下小编,后续还不断会有高质量文章出品,感谢!

来源地址:https://blog.csdn.net/m0_70322372/article/details/127829707

--结束END--

本文标题: 详解JAVA中的构造方法

本文链接: https://www.lsjlt.com/news/397754.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 详解JAVA中的构造方法
    目录 一、构造方法的概念 二、构造方法的特性 一、构造方法的概念         构造方法(也称为构造器)是一个特殊的成员方法,名字必须与类名相同,在创建对象时由编译器自动调用,并且在整个对象的生命周期内只调用一次。 代码演示:...
    99+
    2023-09-07
    java
  • Java 构造方法的使用详解
    目录1. 看一个需求2. 基本语法3. 基本介绍4. 快速入门5. 注意事项和使用细节6. 练习1. 看一个需求 看一个需求:前面我们在创建人类的对象时,是先把一个对象创建好后,再给...
    99+
    2022-11-12
  • Java构造方法和方法重载详解
    目录第一 构造方法的作用第二 构造方法的特点方法重载总结类的结构包括 : 1. 成员变量 2. 成员方法 3. 构造方法 4. 代码块 5. 内部类 第一 构造方法的作用 主要有以下...
    99+
    2022-11-13
  • 关于Java类的构造方法详解
    ​Java语言中,类的构造方法是一种很特殊的方法。关于构造方法要记忆和理解的知识点其实挺多的,下面我们就来详细的讲讲构造方法,相信看过这篇文章之后,你会对构造方法有一个比较深刻的认识...
    99+
    2023-01-28
    java类的构造方法 java类的构造方法有什么作用 java类的构造函数怎么写
  • JAVA构造函数(方法)示例详解
    目录 一、什么是构造函数二、构造函数的特点三、示例四、默认构造函数五、构造函数的重载六、构造函数的使用构造函数的特点总结 一、什么是构造函数 Java构造函数,也叫构造方法,是JAV...
    99+
    2022-11-12
  • Java基础学习之构造方法详解
    目录一、构造方法概述二、构造方法的注意事项三、标准类制作一、构造方法概述 构造方法是一种特殊的方法 作用:创建对象Student stu = new Student(); 格式: p...
    99+
    2022-11-13
  • java构造器 默认构造方法及参数化构造方法
    目录1、构造器1.1 权限修饰符是public 1.2 显示定义构造器1、构造器 构造器也叫构造方法、构造函数,是一种特殊类型的方法,负责类中成员变量(域)的初始化。构造器的用处是在...
    99+
    2022-11-12
  • Java有参构造方法与无参构造方法(完全理解)
    文章目录 前言有参构造方法无参构造方法定义四个类说明情况(如果还不清晰请看)Lombok的基本使用 前言 遇到了就简单写一下吧,如果能够对你有帮助,点个赞吧。首先清晰明了的了解到有参构造方法与无参构造方法、以及应用,然后实战...
    99+
    2023-08-16
    java intellij-idea 开发语言
  • java中构造方法及this关键字的用法实例详解(超详细)
    目录初识构造方法 构造方法的使用 初识this this.xx的用法this()用于构造函数的调用总结初识构造方法  我们上篇讲了java中类...
    99+
    2022-11-13
  • 【Java 基础】构造方法和 this 关键字详解
    《Java 零基础入门到精通》专栏持续更新中。通过本专栏你将学习到 Java 从入门到进阶再到实战的全套完整内容,所有内容均将集中于此专栏。无论是初学者还是有经验的开发人员,都可从本专栏获益。 订阅专栏后添加我微信或者进交流群,...
    99+
    2023-08-16
    java 开发语言 后端 jvm
  • Java构造器方法深入理解
    目录重载1.构造器的重载2.方法的重载(overload)重写重载 1.构造器的重载 因为构造器的名字必须与类名相同,所以同一个类的所有构造器名肯定相同,构成重载;为了让系统能区分不...
    99+
    2022-11-12
  • 详解Java使用super和this来重载构造方法
    详解Java使用super和this来重载构造方法实例代码://父类 class anotherPerson{ String name = ""; String age = ""; public String getAge() ...
    99+
    2023-05-31
    java this super
  • java中的构造方法怎么写
    本篇内容介绍了“java中的构造方法怎么写”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!java中构造方法的写法为“class class_...
    99+
    2023-06-20
  • php构造方法和java构造方法有哪些区别
    这篇文章主要介绍“php构造方法和java构造方法有哪些区别”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php构造方法和java构造方法有哪些区别”文章能帮助大家解决问题。区别:1、重写子类构造函...
    99+
    2023-06-29
  • php构造方法和java构造方法有什么区别
    本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑。php构造方法和java构造方法有什么区别早期的PHP是没有面向对象功能的,但是随着PHP发展,从PHP4开始,也加入了面向对象。PHP的面向对象语法是从JAVA演化...
    99+
    2021-01-17
    php
  • Python编程基础之构造方法和析构方法详解
    目录一、本讲学习目标二、构造方法(一)概述(二)案例演示三、析构方法(一)概述(二)案例演示四、self的使用(一)self概述(二)案例演示总结一、本讲学习目标 1.掌握构造方法的...
    99+
    2022-11-13
  • java中构造方法的使用案例
    这篇文章主要介绍了java中构造方法的使用案例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序...
    99+
    2023-06-15
  • 深入浅析Java中的构造方法
    深入浅析Java中的构造方法?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。构造函数是一种特殊的函数。其主要功能是用来在创建对象时初始化对象, 即为v对象成员变量赋初始值,总...
    99+
    2023-05-31
    java 构造方法 ava
  • java中有关构造方法中的输出
    目录有关构造方法中的输出先来看一个例子java中构造方法的作用有关构造方法中的输出 在构造方法中的System.out.println是怎么运行的呢?下面让我们一起来看一下。 构造方...
    99+
    2022-11-13
    java构造方法 构造方法的输出 java输出构造
  • Java如何构造DSL方法重构
    目录DSL特点小结DSL Domain-specific language: 一种专注于某一领域,仅针对部分表达方式的计算机编程语言。 特点 方法链 Method Chaining功...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作