类的成员之三:构造器(Constructor)

类的成员之一:成员变量 (field)
类的成员之二:方法 (method)
我们 new 完对象时,所有成员变量都是默认值,如果我们需要赋别的值,需要挨个为它们再赋值,太麻 烦了。我们能不能在new 对象时,直接为当前对象的某个或所有成员变量直接赋值呢?
可以, Java 给我们提供了 构造器( Constructor) ,也称为 构造方法
  构造器的作用
new 对象,并在 new 对象的时候为实例变量赋值。
举例: Person p = new Person(“Peter”,15) ;
解释:如同我们规定每个 一出生就必须先洗澡,我们就可以在 的构造器中加入完成 洗澡 的程序代码,于是每个“ 一出生就会自动完成 洗澡 ,程序就不必再在每个人刚出生时一个一个地告诉他们要“ 洗澡 了。
构造器的语法格式
[ 修饰符 ] class 类名 {
[ 修饰符 ] 构造器名 (){
// 实例初始化代码
}
[ 修饰符 ] 构造器名 ( 参数列表 ){
// 实例初始化代码
}
}
说明:
1. 构造器名必须与它所在的类名必须相同。
2. 它没有返回值,所以不需要返回值类型,也不需要 void
3. 构造器的修饰符只能是权限修饰符,不能被其他任何修饰。比如,不能被 static final
synchronized abstract native 修饰,不能有 return 语句返回值。
代码如下:
public class Student {
private String name ;
private int age ;
// 无参构造
public Student () {}
// 有参构造
public Student ( String n , int a ) {
name = n ;
age = a ;
}
public String getName () {
return name ;
}
public void setName ( String n ) {
name = n ;
}
public int getAge () {
return age ;
}
public void setAge ( int a ) {
age = a ;
}
public String getInfo (){
return " 姓名: " + name + " ,年龄: " + age ;
}
}
public class TestStudent {
public static void main ( String [] args ) {
// 调用无参构造创建学生对象
Student s1 = new Student ();
// 调用有参构造创建学生对象
Student s2 = new Student ( " 张三 " , 23 );
System . out . println ( s1 . getInfo ());
System . out . println ( s2 . getInfo ());
}
}

10.3 使用说明
1. 当我们没有显式的声明类中的构造器时,系统会默认提供一个无参的构造器并且该构造器的修饰
符默认与类的修饰符相同
我把构造器注释了 然后反编译一下 就可以看到构造器
2. 当我们显式的定义类的构造器以后,系统就不再提供默认的无参的构造器了。
3. 在类中,至少会存在一个构造器。
4. 构造器是可以重载的。
总结
类的成员之三:构造器(constructor),构造方法1. 构造器的理解constructor :n. 建设者、建造者
construct:v. 建设、建造、创造
construction: n. 建设、建造   CCB2. 构造器的作用
作用1:搭配new关键字,创建类的对象
作用2:在创建对象的同时,可以给对象的相关属性赋值3. 构造器的使用说明
> 构造器声明的格式:权限修饰符 类名(形参列表){}
> 创建类以后,在没有显示提供任何构造器的情况下,系统会默认提供一个空参的构造器,且构造器的权限与类声明的权限相同。
> 一旦类中显示声明了构造器,则系统不再提供默认的空参的构造器。
> 一个类中可以声明多个构造器,彼此之间构成重载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/779226.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

es6的核心语法

在学习低代码时,经常有粉丝会问,低代码需要什么基础,es6就是基础中的一项。我们本篇是做一个扫盲,可以让你对基础有一个概要性的了解,具体的每个知识点可以深入进行了解,再结合官方模板就会有一个不错的掌握…

MySql实战--全局锁和表锁 :给表加个字段怎么有这么多阻碍

今天我要跟你聊聊MySQL的锁。数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而锁就是用来实现这些访问规则的重要数据结构。 根据加锁的范围,MySQL里面的锁大致可以分成…

安装编译cpprest sdk

1、安装vcpkg git clone https://github.com/microsoft/vcpkg运行 bootstrap-vcpkg.bat 2、用vcpkg安装cpprestsdk 下载cpprest,:git clone https://github.com/Microsoft/cpprestsdk.git安装依赖库:vcpkg install --triplet x64-windows zlib openss…

三元组数据模型:构建知识图谱的基石

目录 前言1. 三元组数据模型概述1.1 定义与结构1.2 特点 2. 三元组在知识图谱中的应用2.1 知识表示2.2 知识推理2.3 数据整合 3 三元组的数据格式3.1 N-Triples :3.2 RDF/XML :3.3 Turtle (又称为 Terse RDF Triple Language)&…

Ping32、IPguard三款主流文档加密软件对比,加密软件排行

在当今数字化的时代,数据安全越来越受到人们的重视。为了保护敏感信息不被泄露或滥用,众多企业选择采用数据加密软件。在市面上,Ping32、ipguard和亿赛通是三款备受关注的数据加密软件。本文将对这三款软件进行对比分析,以帮助您更…

蓝桥杯备考随手记: practise01

问题描述: 小明对数位中含有 2、0、1、9 的数字很感兴趣,在 1 到 40 中这样的数包 括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。 请问,在 1 到 2019 中,所有这样的数的和是多少? 思路分析…

一、JAVA集成海康SDK

JAVA集成海康SDK 文章目录 JAVA集成海康SDK前言一、项目依赖 jar1. examples.jar2. 项目依赖 jna.jar,可以通过 maven依赖到。二、集成SDK1.HcNetSdkUtil 海康 SDK封装类2.HCNetSDK3.Linux系统集成SDK三、总结前言 提示:首先去海康官网下载 https://open.hikvision.com/dow…

Flink-CDC 无法增量抽取SQLServer数据

1.问题 因部署在WindowsServer服务器SQLServer发生过期后重启,Flink-CDC同步进行作业重启,启动后无报错信息,数据正常抽取。但是观察几天后发现当天数据计算指标无法展示 2.定位 因为没用进行任何修改,故初步判断不是因Flink-C…

多线程的学习1

多线程 线程是操作系统能够进入运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。 进程:是程序的基本执行实体。 并发:在同一个时刻,有多个指令在单个CPU上交替执行。 并行:在同一时刻&#xff0c…

成都正信晟锦:现在借了钱不还的人怎么处理

在金钱往来中,“借钱不还”的现象时有发生,这不仅损害了债权人的利益,也破坏了社会的信任基础。面对这种情形,我们应当采取何种措施予以解决? 预防胜于治疗。出借前应充分评估借款人的信用状况,必要时要求提供相应的担…

安科瑞智慧安全用电综合解决方案

概述 智慧用电管理云平台是智慧城市建设的延伸成果,将电力物联网技术与云平台的大数据分析功能相结合,实现用电信息的可视化管理,可帮助用户实现安全用电,节约用电,可靠用电。平台支持web,app,微…

Qt与编码

ASCII码:一个字节&#xff0c;256个字符。 Unicode:字母&#xff0c;汉字都占用两个字节。 utf-8:字母一个字节&#xff0c;汉字3个字节。 gbk:字母一个字节&#xff0c;汉字2个字节。 gb2312:可以表示汉字&#xff0c;gb2312<gbk。 编码查看&#xff1a; https://www.…

2024知乎广告推广怎么做,知乎推广教程!

随着社交媒体影响力的日益增强&#xff0c;知乎作为中国高质量知识分享社区的代表&#xff0c;已经成为品牌方精准触达目标受众的重要阵地。云衔科技凭借其专业的一站式广告服务能力&#xff0c;为企业提供知乎广告开户及代运营解决方案&#xff0c;助力企业在知乎平台上实现品…

双非二本找实习前的准备day12

学习目标&#xff1a; 每天复习代码随想录上的题目2-3道算法&#xff08;时间充足可以继续&#xff09;&#xff0c;背诵的八股的问题也在这里记录了 今日碎碎念&#xff1a; 1&#xff09;科四没时间考了&#xff0c;等实习完回来再说咯 2&#xff09;这几天在忙收拾东西和…

K8S的mountPath和subPath

1 mountPath mountPath是容器内部文件系统的挂载点&#xff0c;它定义了容器内部将外部存储卷&#xff08;如 PersistentVolume、ConfigMap、Secret 等&#xff09;挂载到哪个路径下。通过 mountPath&#xff0c;容器可以访问这些挂载的数据或配置。 2 subPath subPath 是 m…

汽车信息安全 -- HSM是否可以作为信任根?(2)

目录 1.概述 2. 汽车中的硬件信任锚 3. HSM可以作为信任根吗? 1.概述 在上文,我们讲解了信任锚和信任根,本文继续讲解汽车中关于硬件信任锚点的内容,最终回归到问题:HSM是否可以作为信任根? <

跨域及解决办法

跨域及解决办法 一、什么是跨域 1.跨域&#xff1a;浏览器对于javascript的同源策略的限制 。 2.同源政策的目的&#xff0c;是为了保证用户信息的安全&#xff0c;防止恶意的网站窃取数据。 设想这样一种情况&#xff1a;A 网站是一家银行&#xff0c;用户登录以后&#xf…

树结构导入

Testpublic void testExcel1() {// 写法1&#xff1a;JDK8 ,不用额外写一个DemoDataListener// since: 3.0.0-beta1EasyExcelFactory.read(new File("C:\\Users\\Admin\\Desktop\\树导入.xlsx"), null, new ReadListener<Map>() {public static final int BATC…

Vue——案例01(查询用户)

一、案例实现页面 二、案例实现效果 1. 查询效果 2. 年龄升序 3. 年龄降序 4. 原顺序 三、案例实现思路 1. 定义界面所需标签样式 <div id"app"><h2>查询用户:</h2><input type"text" placeholder"请输入名字"/><b…

星闪BLE与蓝牙

蓝牙与低功耗蓝牙 蓝牙工作在2.4GHz的频段&#xff0c;在工作频段2402MHz-2480MHz上分为79个信道&#xff0c;低功耗蓝牙分为40个信道。一组设备通信的时候&#xff0c;短暂占用一个信道发包&#xff0c;由于其跳频技术&#xff0c;每次传输完数据包之后都会切换到另一个信道继…