java构造函数有没有返回值的总结

CSP-J/S复赛文件组织与freopen读写全攻略,避免爆零 在信息学竞赛的上机考试中,代码能力固然重要,但文件组织与输入输出重定向往往是决定成败的关键细节。许多选手习惯在线评测环境,对本地文件命名、目录层级和读写方式缺乏系统认知,导致算法正确却因文件名拼写错误或freopen使用不当而遗憾失分。理解评测系统的工作原理,掌握从建立准考证号目录到规范命名源文件,再到使用freopen进行文件流重定向的标准流程,是每位参赛者的必备技能。这种工程化习惯不仅适用于CSP-J/S复赛,也是未来参加NOI等更高水平竞赛的基础。本文从文件组织的底层逻辑出发,结合实战案例,系统讲解考 阅读详情
这个问题已经有人讨论过,最近在Java版再次被人提出来了。

疑问在于如下的代码:

String str = new String(content);

new 的时候调用构造函数,返回给str;

从语法上讲,构造函数不允许有返回值,就算是 void 也不行。

这里的new 是调用构造函数,在堆里分配了一个String对象,并让str指向这个对象。实际上是那个 new 在起作用,而不是()在起作用。

下面是因为原版说明,有兴趣的自己看吧

For purposes other than simple initialization, classes can have constructors. Constructors are blocks of statements that can be used to initialize an object before the reference to the object is returned by new. Constructors have the same name as the class they initialize. Like methods, they take zero or more arguments, but constructors are not methods and thus have no return type. Arguments, if any, are provided between the parentheses that follow the type name when the object is created with new. Constructors are invoked after the instance variables of a newly created object of the class have been assigned their default initial values and after their explicit initializers are executed.

We create the object sun refers to using new. The new construct is by far the most common way to create objects (we cover the other ways in Chapter 16). When you create an object with new, you specify the type of object you want to create and any arguments for its construction. The runtime system allocates enough space to store the fields of the object and initializes it in ways you will soon see. When initialization is complete, the runtime system returns a reference to the new object.

下面是构造方法的一些特点总结

(1)构造方法的方法名必须与类名相同。

(2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。

(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。

(4)构造方法不能由编程人员调用,而要系统调用。

(5)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构 造器,这个构造器不执行任何代码。

(6)构造方法可以重载,以参数的个数,类型,或排列顺序区分。

当然

public Long String(){ }

这个算一个普通的方法,虽然和类重名,但却是合法的普通方法,而不是构造方法了。

如下的类可以正常编译并运行,结果正确。请注意构造方法里面的return;

public class T {

public T() {

return; // 请注意这里的return哦,这是合法的语句

}

public String T() {

return 特殊的方法,和类名相同;

}

public static void main(String[] args) {

System.out.println(new T().T());

}

}

从另一个角度看,正是因为构造函数没有返回值才需要这么写:

String str = new String(content);

否则,如果有返回值,应该如下写:

String str = String(content);

当然了,那个String是一个普通的方法,不再是构造方法了。原因看前面的例子。

音频DSP开发中的‘隐藏关卡’:那些SigmaStudio未公开的模块计算秘籍 本文深入探讨音频DSP开发中SigmaStudio未公开的模块计算秘籍,重点解析动态范围控制、均衡器参数映射和混响算法优化等核心模块计算公式。通过实际案例揭示如何利用这些非官方技巧提升音频质量与系统性能,为ADI DSP开发者提供宝贵的实战经验。 阅读详情

相关推荐

从入门到实战:openEuler 系统管理与运维笔记(持续更新)

本文为openEuler系统管理与运维的实战笔记,从CentOS迁移者视角切入,详细介绍了openEuler的生态兼容性、内核优化及安全特性。内容涵盖系统安装规划、虚拟机部署、基础命令操作、文件系统管理以及用户权限配置等核心运维技能,旨在帮助读者快速上手并掌握这一企业级操作系统的日常管理。

weixin_29207149的博客 222

java构造函数介绍

构造函数是一种特殊的方法,它用于初始化对象。当创建一个新的对象时,构造函数会自动调用,以初始化该对象的状态。通常情况下,构造函数与类名相同,并且没有返回值。在Java中,有两种类型的构造函数:默认构造函数和自定义构造函数。默认构造函数是由编译器自动生成的,如果没有显式定义构造函数,则默认构造函数会被调用。自定义构造函数是由程序员显式定义的,它可以接受参数并执行一些初始化操作。

weixin_46004749的博客 754

记录:rk3568适配开源GPU驱动(panfrost)

摘要:本文介绍了在RK3568芯片上移植Mali-G52 GPU驱动的过程。主要包括内核dts文件修改和内核配置调整两部分。

xuesong10210的博客 2237

C++中this指针的理解和用法

关于this指针的一个精典回答: 当你进入一个房子后, 你可以看见桌子、椅子、地板等, 但是房子你是看不到全貌了。 对于一个类的实例来说, 你可以看到它的成员函数、成员变量, 但是实例本身呢? this是一个指针,它时时刻刻指向你这个实例本身。  个人理解: (ps:class类就好比这座房子,this就好比一把钥匙,通过钥匙来打开了这座房子的门,那么里面的东西就随意你取用了)

小海的专栏 3万+

行列式详解:从定义到应用

本文系统介绍了行列式的核心概念和应用。首先从二阶、三阶行列式入手,逐步扩展到n阶行列式的定义,讲解了余子式和代数余子式的概念。其次,详细阐述了行列式的重要性质,包括转置不变性、行列交换变号等基本性质以及乘积性质等推论。在计算方法方面,介绍了按行展开法、化上三角矩阵法等实用技巧,并列举了特殊行列式的计算案例。最后重点讨论了行列式在克拉默法则、矩阵可逆性判断、几何体积计算及线性相关性判断等领域的应用。文章强调理解行列式的几何意义和灵活运用性质的重要性,并给出了学习建议和常见误区提示。行列式作为连接代数与几何的桥

aichitang2024的博客 3034

使用循环神经网络预测温度

简介 本文以天气时间序列数据集为例,讨论如何使用深度学习模型预测未来天气温度。 使用的是由德国耶拿马克思普朗克生物地球化学研究所的气象站记录。 数据每10分钟记录一次,共记录14种不同的量,如气温、气压、湿度、风向等,原始数据可追溯到2003年,本例只使用2009-2016年的数据。 数据 下载并解压数据略。 加载数据: data_dir = r'E:\practice\tf2\temperature' fname = os.path.join(data_dir, 'jena_climate_2009_

guotianqing的博客 5282

java构造方法

java中的构造方法

weixin_72786602的博客 3477

WeDetect:基于视觉-语言检索的目标检测新范式

目标检测正从传统回归与分类耦合范式,向开放、灵活、可扩展的多模态检索范式演进。检索式检测(Retrieval-based Detection)将检测任务重构为视觉特征与文本语义的联合匹配过程,依托候选框索引库与双塔架构,天然支持开放词汇、零样本识别与小目标定位。其技术价值在于解耦空间感知与语义理解,消除NMS与anchor匹配等冗余计算,显著提升推理效率与跨场景泛化能力。典型应用场景包括工业质检中的缺陷新增识别、遥感图像小目标检测、低光照鲁棒视觉系统等。WeDetect正是这一范式的代表性实现,深度融合视觉

weixin_30878501的博客 361

JAVA 构造方法

构造方法是类当中的一种特殊方法,用来初始化一个类对象,在创建对象之后(new之后)自动调用。 Java中的每个类都有一个默认的构造方法,并且可以拥有一个以上的构造方法。 Java构造方法有以下特点: 1.方法名必须和类名相同。 2.可以有一个或多个参数,也可以没有参数。 3.无返回值,包括void。 4.默认返回类型就是对象类型本身。 5.只能与new运算符结合使用。 构造方法主要有无参和有参俩种 public class demo01Person { private int m; // 定义

shuyv的博客 1957

手把手教你学AI GPU UMD驱动软件开发专栏--1.1 UMD(用户模式驱动)的定义与定位

摘要:UMD(用户模式驱动)是GPU驱动架构中的关键组件,负责连接AI应用与硬件。作为运行在用户空间的动态链接库,UMD通过减少系统调用开销显著提升AI计算性能。其核心功能包括API转换、资源管理和命令生成,同时具备安全性高(崩溃不影响系统)、开发灵活等优势。随着AI发展,UMD已从图形驱动演变为深度学习加速的关键组件,支持TensorCore等硬件特性优化。未来趋势包括深度框架集成、硬件感知增强和虚拟化支持。UMD通过性能优化和安全隔离机制,成为现代AI计算基础设施的理想选择。

MHD0815的博客 171

英飞凌Tricore实战系列导读

笔者结合项目应用经验对Tricore MCU的开发及应用经验进一步总结,成人达己,渡己渡人。

initiallizer的博客 3790

Java构造函数到底有没有返回值?

Java构造函数到底有没有返回值?

xiaoguobaf的博客 2万+

【QNX+Android虚拟化方案】129 - USB眼图参数配置

【QNX+Android虚拟化方案】129 - USB眼图参数配置

|~~~热爱生活、努力学习的小伙汁~~~| 821

JAVA中构造函数有没有返回值_【面试题】构造函数有没有返回值

曾经遇到一个面试题——构造函数有没有返回值?今天调查一番后,给出确切的答案:构造函数没有返回值。我们使用构造函数构造一个String字符串str:String str = new String("abc");这里的new 是调用构造函数,在堆里动态创建一个String对象,并让str指向这个对象。实际上赋值是因为new关键字,而不是()在起作用。从语法上讲,构造函数不允许有返回值,就算是 void...

weixin_29713915的博客 2135

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

构造函数有没有返回值的总结

这个问题已经有人讨论过,最近在Java版再次被人提出来了。疑问在于如下的代码:String str = new String("content"); new 的时候调用构造函数,返回给str;从语法上讲,构造函数不允许有返回值,就算是 void 也不行。这里的new 是调用构造函数,在堆里分配了一个String对象,并让str指向这个对象。实际上是那个 new 在起作用,而不是()在起作用。下面是...

laravel framework 329

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

构造函数有没有返回值?

昨天面试,他问我:构造函数有没有返回值? 我告诉他说:构造函数没有返回值。  他举了个反例:    String str = new String("content");  new 的时候调用构造函数,返回给str;  再问:有没有方法确定知道构造函数有没有返回??   这是 上的说法:  For purposes other than simple initializ

菜鸟的飞翔 4万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

构造函数之创建详细过程与到底有没有返回值

构造函数之创建详细过程与到底有没有返回值 构造方法与类同名,在没有构造函数的情况下,系统会给我们自动创建一个无参构造函数,只是我们看不到,当你创建了构造函数时,系统就不会给你创建无参构造函数。其主要作用分以下两种: 类的实列化,对象创建是通过构造方法实现的。 创建对象的同时,初始化实例变量的内存空间(给实例变量赋值)。 成员变量之实例变量(成员变量包括类变量和实例变量),属于对象级别的变量,这种变量必须先有对象才能有实例变量。实例变量没有手动赋值的时候,系统默认赋值,那么这个系统默认值是什么时候完成的呢

LUOHANG22的博客 634

Java构造函数

Java构造函数 1、Java构造方法定义 Java中的构造方法是一种特殊的方法,用于初始化对象。Java构造函数在对象创建时被调用。它构造值,即提供对象的数据。与函数名相同,无返回值。 2、作用 一般用来初始化成员属性和方法的,即new对象产生后,就调用了对象的属性和方法。 3、创建Java构造函数的规则 创建函数基本上定义了两个规则。分别如下: 1、构造函数必须与其类名称相同 2、构造函数必须没有显式返回类型 4、构造函数与普通函数的区别 1、构造函数式对象一建立就运行,给对象初始化,就包括属性,

weixin_45972870的博客 2万+

JAVA构造函数(方法)

一、什么是构造函数 java构造函数,也叫构造方法,是java中一种特殊的函数。函数名与相同,无返回值。 作用:一般用来初始化成员属性和成员方法的,即new对象产生后,就调用了对象了属性和方法。 在现实生活中,很多事物一出现,就天生具有某些属性和行为。比如人一出生,就有年龄、身高、体重、就会哭;汽车一出产,就有颜色、有外观、可以运行等。这些,我们就可以将这些天然的属性和行为定义在构造函数中,...

打杂人-aerchi 16万+

关于构造函数没有返回值的问题

为什么构造函数不能有返回值? 摘自 >    “构造函数是一种很特殊的函数,因为他没有返回值。这和‘返回值为void’有极大的差别。返回void时,一般函数并不返回任何东西,但是一般的函数能够选择是否要返回些什么东西。构造函数则绝对不返回任何东西,而且你也没有任何选择。如果它有一个返回值,而且你有权利选择你自己的返回型别(return   type),编译器势必得通过某种方式来知道如何处理那个

wudishine的专栏 5082

构造函数有没有返回值

疑问在于如下的代码: String str = new String(content); new 的时候调用构造函数,返回给str; 从语法上讲,构造函数不允许有返回值,就算是 void 也不行。 这里的new 是调用构造函数,在堆里分配了一个String对象,并让str指向这个对象。实际上是那个 new 在起作用,而不是()在起作用。 下面是因为原版说明,有兴趣的自己看吧

Ada168855的专栏 1138

函数没有return返回值会怎么样_Java构造函数没有返回值,是怎么赋值的?

众所周知,在java里是不能给构造函数写返回值的,如果在低版本的编译器定义一个构造器写上返回值可能会报错,高版本里面他就是一个普通的方法。可是如果构造函数没有返回值,那么比如Test t = new Test()我们new一个对象的时候是怎么赋值的呢?构造函数有返回值吗写一段代码测试一下:publicclassTest{publicTest(){}...

weixin_39716521的博客 1552

java构造函数_JAVA构造函数没有返回值是怎么赋值的?

众所周知,在java里是不能给构造函数写返回值的,如果在低版本的编译器定义一个构造器写上返回值可能会报错,高版本里面他就是一个普通的方法。 可是如果构造函数没有返回值,那么比如Test t = new Test()我们new一个对象的时候是怎么赋值的呢? 构造函数有返回值吗 写一段代码测试一下: public class Test { public Test() { ...

weixin_39867142的博客 131

Java构造函数没有返回值,是怎么赋值的?

众所周知,在java里是不能给构造函数写返回值的,如果在低版本的编译器定义一个构造器写上返回值可能会报错,高版本里面他就是一个普通的方法。可是如果构造函数没有返回值,那么比如Test t...

程序IT圈 235

JAVA构造函数没有返回值是怎么赋值的?

众所周知,在java里是不能给构造函数写返回值的,如果在低版本的编译器定义一个构造器写上返回值可能会报错,高版本里面他就是一个普通的方法。 可是如果构造函数没有返回值,那么比如Test t = new Test()我们new一个对象的时候是怎么赋值的呢? 构造函数有返回值吗 写一段代码测试一下: publicclassTest{ publicTest(){ } publicstaticvoidmain(String[]args){ ...

srs1995的博客 1057
上一篇: mkdir — 新建目录
下一篇: 删除msconfig里的启动记录(通过注册表实现)
HackProgramer
博客等级 码龄12年 255粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值