java 构造函数的作用_Java中构造函数的作用(转)

java 构造函数的作用_Java中构造函数的作用(转)https://blog.csdn.net/vipmao/article/details/51530954,我觉得讲的非常好,学习到了构造函数的最大作用就是创建对象时完成初始化,当我们在new一个对象并传入参数的时候,会自动调用构造函数并完成参数的初始化。如下:publicclassTest{privateStringname;//有参数的构造函数publicTest(Stringn…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

https://blog.csdn.net/vipmao/article/details/51530954,我觉得讲的非常好,学习到了

构造函数的最大作用就是创建对象时完成初始化,当我们在new一个对象并传入参数的时候,会自动调用构造函数并完成参数的初始化。如下:

public class Test {

private String name;

//有参数的构造函数

public Test(String name) {

this.name = name;

}

public static void main(String[] args) {

//new一个对象,传参,调用构造函数

Test test=new Test(“VipMao”);

System.out.println(test.name);

}

}

运行结果 VipMao

这就说明在我们创建Test对象的时候,会自动调用构造函数完成初始化,这时程序中的name属性就成了VipMao。

上面说到构造函数是为了在new对象传入参数后完成属性的初始化,也许有些人不解,为什么我程序中不写构造函数依然可以完成初始化。

1.如果你不写构造函数,程序会自动给你加上一个无参数无操作的构造函数(当然你看不见)。

2.如果你写了构造函数,则自定义构造函数会覆盖无参数构造函数。

3.如果你写的构造函数中不存在无参数的构造函数,将不能以 new XXX(“”);这样传参的方式生成该类的对象(当然你也可以生成对象后通过他们的set、get方法进行赋值。)

比如将上面的程序改成以下:

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

public class Test {

private String name;

//不提供构造函数

public static void main(String[] args) {

//new一个对象,传参,调用构造函数

Test test=new Test(“VipMao”);

System.out.println(test.name);

}

}

在创建对象并赋值的时候,程序就会报错:

The constructor Test(String) is undefined,构造函数是没有定义的。

也就是说如果程序员没有为JAVA类提供任何构造器,则系统会为这个类提供一个无参数的构造器,这个构造器的执行体为空,不做任何事情。无论如何,JAVA类至少包含一个构造器,如果你提供了多个构造函数(参数不同),则程序会根据你传入参数的不同调用不同的构造函数。

————————————————

版权声明:本文为CSDN博主「VipMao」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/vipmao/article/details/51530954

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197517.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 投影矩阵与最小二乘法_最小二乘法和矩阵求逆

    投影矩阵与最小二乘法_最小二乘法和矩阵求逆投影矩阵与最小二乘二者有什么必然的联系么,当我开始写这篇文章的时候我也这样问自己。如果Strang教授没有教授这堂课亦或者讲的这堂课没有被放到网上被别人所下载观看,那么…好在一切都是那么的幸运先说说投影吧,这个想必大家都知道,高中的知识了。一个向量(b)在另一个向量(a)上的投影:实际上就是寻找在a上离b最近的点。如果我们把p看作是a的估计值,那么我们定义e

    2022年10月4日
    0
  • Android基于百度OCR识别图片中的文字

    Android基于百度OCR识别图片中的文字    OCR(OpticalCharacterRecognition),即光学字符识别,指的是针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。简单的来说,OCR技术就是可以把图片上的文字识别出来,并以文本格式的形式提取出来。    该技术已广泛应用于生活中。比如很多翻译软件都有的拍照翻译功能,就利用了该技术。这里尝试使用百度OCR接口实现Android拍照识别文字功能。请求模块定义   

    2022年5月13日
    38
  • Visual C++ 2010 Express与Visual C++ 2010有何区别?「建议收藏」

    Visual C++ 2010 Express与Visual C++ 2010有何区别?

    2022年4月3日
    47
  • ccproxy代理搭建_自动代理

    ccproxy代理搭建_自动代理由于公司内网windows系统要更新,特设置代理访问外网https://blog.csdn.net/cyl937/article/details/21330607

    2025年7月28日
    0
  • 用计算机算组合数_计算组合数

    用计算机算组合数_计算组合数计算组合数最大的困难在于数据的溢出,对于大于150的整数n求阶乘很容易超出double类型的范围,那么当C(n,m)中的n=200时,直接用组合公式计算基本就无望了。另外一个难点就是效率。对于第一个

    2022年8月6日
    3
  • Pycharm安装包超时:ReadTimeoutError

    Pycharm安装包超时:ReadTimeoutErrorPycharm会自动安装pip、setuptools、wheel,安装numpy等包时,由于国外服务器,导致下载延时,无法安装,可使用使用pip.exe解决。Win+R,Enter后打开cmd,在你的python工程下venv-Scripts下,pip.exe右键,ShowinExplorer,打开所在文件夹,将pip.exe拖入cmd,执行查看所有可用命令、查看当前工程已安装的包、安装包…

    2022年5月17日
    97

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号