java中的构造函数。

article/2025/10/20 9:38:30

我们这篇文章说的是构造函数,那么它与我们平时写的函数有哪些不同呢?有很大的不同了。

特点:1函数名与类名相同

        2不用定义返回值类型。

        3不可以写return语句。

作用:给对象进行初始化。

注意:1默认构造函数的特点。

        2多个构造函数是以重载的形式存在的。

我们用实例来说明。

class Person{	Person(){System.out.println("person run");}	 }
class PersonDemo{public static void main(String[ ] args)	{Person p=new Person();}	}

我们写了这样一个代码。我们运行一下。                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​

我们可以发现这个代码运行了。我们没有调用这个函数,也没有写什么Person什么的,但是它就是运行了。所以我们知道对象一建立就调用了这个构造函数。

那么构造函数的作用就体现出来了,它的作用就是可以用于给对象进行初始化。

那么对象为什么要初始化,因为生活中的事物很多,它一出现就具备了基本特性。比如要产生一个人,这个人一出生就会哭,产生这个行为。

我们把这个类中的那个构造函数删掉的话能不能继续运行呢,答案是能。这就涉及构造函数的一个小细节:当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。这个函数就是Person()(),当然这只是对于Person这个类来说的。为什么要加一个这个,是为了方便该类进行初始化。否则对象是建立不出来的,因为对象没有办法初始化。当在类中自定义了构造函数的初始化,那么默认的构造函数就没有了。

我们继续加一些代码。

class Person{private String name;private int age;Person(){System.out.println("C:name="+name+",,age="+age);}	 Person(String n){name=n;System.out.println("A:name="+name+",,age="+age);}	Person(String n,int a)		{name=n;age=a;System.out.println("B:name="+name+",,age="+age);}}
class PersonDemo{public static void main(String[ ] args)	{Person p=new Person();}	}

为什么写这几个构造函数呢,因为每个人一开始不一定都是一样的,有的有姓名有的没有。所以他们的初始化是不一样的,所以我们写不同的构造函数。

        		Person p1=new Person();Person p2=new Person("lisi");Person p3=new Person("wangwu",10);

 我们建立这三个对象之后再运行。

        ​​​​​​​        ​​​​​​​        ​​​​​​​        

然后就可以得出三个不同的对象,每个对象在调用不同的构造函数。同时我们的构造函数也可以调用其他的函数。

 构造函数和一般函数的写法不同。同时在运行上也有不同。构造函数是在对象一建立就运行,给对象初始化。而一般方法是对象调用才运行,给对象添加对象具备的功能。一个对象建立,构造函数只运行一次,一般方法能运行多次。

那我们什么时候定义构造函数呢?

当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中。

这就是这篇文章要说的一些构造函数的内容和特点。希望能帮助到大家。


http://chatgpt.dhexx.cn/article/fSXknlMM.shtml

相关文章

Java构造函数(构造方法)的简介说明

转自: Java构造函数(构造方法)的简介说明 Java构造函数(构造方法) java中的构造函数是一种特殊类型的方法, 用于初始化对象。 Java构造函数在对象创建时被调用,调用构造函数时,它会创建一个对象,并返…

HED图像边缘检测-程序运行的问题解决方法

论文全名:[2015](HED_FCN)Holistically-Nested Edge Detection.pdf 代码下载地址:https://github.com/s9xie/hed 附上一篇个人认为写的比较好的论文笔记:http://blog.csdn.net/u012905422/article/details/52782615 注意事项: …

HID协议

转自:https://blog.csdn.net/zhoutaopower/article/details/82469665 1.简述 USB HID类是USB设备的一个标准设备类,包括的设备非常多。HID类设备定义它属于人机交互操作的设备,用于控制计算机操作的一些方面,如USB鼠标、USB键盘、…

图像处理——基于深度学习HED实现目标边缘检测

前言 使用传统的图像来检测目标边缘,受到干扰的因素太多了,而已鲁棒性不高,同样的参数,在这个环境下可以,换个环境就根本检测不到物体的边缘,或者把不是边缘的也检测进去了。ICCV2015有人提出了整体嵌套边…

边缘检测系列3:【HED】 Holistically-Nested 边缘检测

引入 除了传统的边缘检测算法,当然也有基于深度学习的边缘检测模型 这次就介绍一篇比较经典的论文 Holistically-Nested Edge Detection 其中的 Holistically-Nested 表示此模型是一个多尺度的端到端边缘检测模型 相关资料 论文:Holistically-Nested…

【论文阅读】(边缘检测相关)HED:Holistically-Nested Edge Detection

论文地址:https://arxiv.org/pdf/1504.06375.pdf Holistically:整体 Nested:嵌套的 参考博客:深度学习论文笔记之(一)HED边缘检测_大青上的博客-CSDN博客_深度学习边缘检测 边缘检测之HED_年轻即出发&#…

深度学习hed边缘检测模型之裂缝检测

裂缝检测原本采用分割模型较多,目前我测试了采用hed的裂缝检测;代码采用这个版本的代码是最简洁易懂的,https://github.com/senliuy/Keras_HED_with_model 环境:win10 keras2.2.4 hed.py from keras.layers import Conv2D, …

hed-训练自己的数据集

1、准备自己训练的原图和边缘图,边缘图制作参考https://blog.csdn.net/weixin_38517705/article/details/84670150 2、将制作好的数据集放在.../rcf-master/data下,我是分为两个文件夹,一个存放原图(hed)、一个存放边…

HED边缘检测

主要是“Holistically-Nested Edge Detection ”这一篇文章 code download:https://github.com/s9xie/hed 这篇边缘检测主要是基于caffe框架下的,所以要实现的时候要在自己电脑上编译caffe,caffe安装编译可以看本人的博客:http:…

【边缘检测】HED论文笔记

论文全称:Holistically-Nested Edge Detection 亮点 1、基于整个图像的训练和预测 2、多尺度和多水平的特征学习 3、基于FCN和VGG 改进 4、通过多个side output输出不同scale的边缘,然后通过一个训练的权重融合函数得到最终的边缘输出。可以solve e…

HED测试单张图片示例

论文全名:[2015](HED_FCN)Holistically-Nested Edge Detection.pdf 代码下载地址:https://github.com/s9xie/hed 附上一篇个人认为写的比较好的论文笔记:http://blog.csdn.NET/u012905422/article/details/52782615 关于HED的训练在另一篇博客…

【深度学习HED边缘检测网络】

源码: 这个版本的代码是最简洁易懂的,https://github.com/senliuy/Keras_HED_with_model 数据集: 链接:https://pan.baidu.com/s/13qStI9DP1mbt9JallQFpPg 提取码:wbfi HED(Holistically-Nested Edge Detection) …

深度学习边缘检测 HED 训练自己的数据

深度学习边缘检测 HED 训练自己的数据 数据集制作 使用labelme标注,选择lineStrip(线条束)标注 生成json文件。 之后使用批量处理脚本将json文件转为边缘数据集。具体过程如下: 首先将所有的json文件放入一个文件夹内&#xff0c…

《HED:Holistically-Nested Edge Detection》原文翻译

注:本人水平有限,如有错误,恳请指正,谢谢 源代码和预训练模型获取地址: https://github.com/s9xie/hed 论文地址:https://arxiv.org/abs/1504.06375 Holistically-Nested Edge Detection 摘要 本文研究了…

边缘检测-HED-RCF

(HED)Holistically-Nested Edge Detection 解决问题 ICCV2015的文章。主要解决两个问题: (1)基于整个图像的训练和预测; (2)多尺度和多水平(多层次)的特征学习。该算法通过深度学习模型,完成了…

论文笔记 HED:Holistically-Nested Edge Detection

同组小伙伴推荐的文章,一篇看似做边缘检测,实际做出了语义分割的文章,ICCV2015的文章。主要解决两个问题:(1)基于整个图像的训练和预测;(2)多尺度和多水平的特征学习。该…

HED边缘检测:Holistically-nested Edge Detection 解读

Holistically-nested Edge Detection (以下简称HED) HED通过深度学习网络实现边缘检测,网络主要有以下两个特点 Holistically:指端到端(end-to-end 或者image-to-image)的学习方式,也就是说&a…

HED 和 RCF 图像边缘检测

HED 和 RCF 图像边缘检测 引言 虽然传统边缘检测算法在不断发展的过程中也取得了很大的进步,但仍然无法做到精细的边缘检测处理。随着近年来深度学习的快速发展,计算机视觉领域因此获益颇丰,当下最先进的计算机视觉应用几乎都离不开深度学习…

hed

一、编译caffe cd进入hed-master文件夹目里下 (1) cp Makefile.config.example Makefile.config (2) make all 出现错误a 解决: 打开Makefile.config文件 将 INCLUDE_DIRS : $(PYTHON_INCLUDE) /usr/local/incl…

边缘检测之HED

出自论文,Holistically-Nested Edge Detection ,ICCV2015,Marr奖提名,非常值得看的一篇。 边缘检测的工作分为以下3个研究方向: (1)传统的检测算子:Sobel ,Canny (2)基于信息理论设计的手工特征:Statisti…