java中的构造函数什么时候被调用执行

 更新时间:2024年03月25日 09:10:06   作者:Sky-木落  
这篇文章主要介绍了java中的构造函数什么时候被调用执行问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

java构造函数什么时候被调用执行

在java语言 中,构造函数又称构造方法。

特殊性在于,与普通方法的区别是,他与类名相同,不返回结果也不加void返回值。

构造函数的作用是初始化对象,即在创建对象时被系统调用(与普通方法不同,程序不能显示调用构造函数)。

构造函数还能够被重载,即可以传入参数,当程序中包含有带参的构造函数时,系统将不会再提供的无参构造函数。

构造函数特点:

没有函数返回值,构造函数名与类名相同;当创建类对象的时候调用其对应的构造方法去创建。

每创建一个类的实例都去初始化它的所有变量是乏味的。

如果一个对象在被创建时就完成了所有的初始工作,将是简单的和简洁的。

因此,Java在类里提供了一个特殊的成员函数,叫做构造函数(Constructor)。

一个构造函数是对象被创建时初始对象的成员函数。

它具有和它所在的类完全一样的名字。

一旦定义好一个构造函数,创建对象时就会自动调用它。

构造函数没有返回类型,即使是void类型也没有。

这是因为一个类的构造函数的返回值的类型就是这个类本身。

构造函数的任务是初始化一个对象的内部状态,所以用new操作符创建一个实例后,立刻就会得到一个清楚、可用的对象。

构造方法是一种特殊的方法,具有以下特点。

  • 构造方法的方法名必须与类名相同。
  • 构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
  • 构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。
  • 构造方法不能由编程人员调用,而要系统调用。
  • 一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。
  • 构造方法可以重载,以参数的个数,类型,或排列顺序区分。

java构造函数特点

(1)一般函数是用于定义对象应该具备的功能。而构造函数定义的是,对象在调用功能之前,在建立时,应该具备的一些内容。也就是对象的初始化内容。

(2)构造函数是在对象建立时由jvm调用, 给对象初始化。一般函数是对象建立后,当对象调用该功能时才会执行。

(3)普通函数可以使用对象多次调用,构造函数就在创建对象时调用。

(4)构造函数的函数名要与类名一样,而普通的函数只要符合标识符的命名规则即可。

(5)构造函数没有返回值类型。

(6)当类中没有定义构造函数时,系统会指定给该类加上一个空参数的构造函数。这个是类中默认的构造函数。当类中如果自定义了构造函数,这时默认的构造函数就没有了。备注:可以通过javap命令验证。

(7)在一个类中可以定义多个构造函数,以进行不同的初始化。多个构造函数存在于类中,是以重载的形式体现的。因为构造函数的名称都相同。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Sentinel热门词汇限流的实现详解

    Sentinel热门词汇限流的实现详解

    这篇文章主要介绍了使用Sentinel对热门词汇进行限流的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • vue+ java 实现多级菜单递归效果

    vue+ java 实现多级菜单递归效果

    这篇文章主要介绍了vue+ java 实现多级菜单递归效果,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • controller函数中参数列表使用多个@RequestBody问题

    controller函数中参数列表使用多个@RequestBody问题

    这篇文章主要介绍了controller函数中参数列表使用多个@RequestBody问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Java中List集合按指定条件排序

    Java中List集合按指定条件排序

    这篇文章主要介绍了Java中List集合按指定条件排序,List是一种有序集合,可以随时添加和删除其中元素,本篇文章针对List集合按照条件排序的几种方式做了实例演示,需要的朋友可以参考下
    2023-07-07
  • Java8接口之默认方法与静态方法详解

    Java8接口之默认方法与静态方法详解

    java8中为接口新增了一项功能,定义一个或者更多个静态方法,类似于类中的静态方法,接口定义的静态方法可以独立于任何对象调用,下面这篇文章主要给大家介绍了关于Java8接口之默认方法与静态方法的相关资料,需要的朋友可以参考下
    2022-03-03
  • Java编程获取当前屏幕分辨率的方法示例

    Java编程获取当前屏幕分辨率的方法示例

    这篇文章主要介绍了Java编程获取当前屏幕分辨率的方法,涉及java针对系统硬件信息的相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • JAVA实现扫描线算法(超详细)

    JAVA实现扫描线算法(超详细)

    扫描线算法就是从Ymin开始扫描,然后构建出NET,之后根据NET建立AET。接下来本文通过代码给大家介绍JAVA实现扫描线算法,感兴趣的朋友一起看看吧
    2019-10-10
  • springboot中的dockerfile使用

    springboot中的dockerfile使用

    这篇文章主要介绍了springboot中的dockerfile使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java实现简单文件过滤器功能

    Java实现简单文件过滤器功能

    下面小编就为大家分享一篇Java实现简单文件过滤器功能,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • jfinal添加jcaptcha验证码实现方法

    jfinal添加jcaptcha验证码实现方法

    这篇文章主要介绍了jfinal的jcaptcha验证码实现方法,大家参考使用吧
    2014-01-01

最新评论