10-面向对象-构造方法

构造方法也叫做构造器、构造函数。

作用:在创建对象的时候给成员变量进行初始化的。

✅ 一、构造方法的特点

特点说明
与类同名构造方法的名称必须与类名相同
没有返回类型构造方法没有返回值,甚至不能写 void
自动调用使用 new 创建对象时,会自动调用构造方法
可以重载可以定义多个构造方法(构造方法重载)

✅ 二、构造方法的分类

1. 无参构造方法(默认构造)

如果你不写,Java 会自动提供一个无参构造方法。

public class Person {String name;int age;// 无参构造public Person() {System.out.println("调用了无参构造方法");}
}

调用:

Person p = new Person();

2. 有参构造方法

可以在创建对象时直接传入参数来初始化成员变量。

public class Person {String name;int age;// 有参构造public Person(String name, int age) {this.name = name; // 用 this 解决成员变量与参数重名this.age = age;}void printInfo() {System.out.println("姓名: " + name + ", 年龄: " + age);}
}

调用:

Person p = new Person("张三", 20);
p.printInfo();

✅ 三、构造方法重载

你可以定义多个构造方法,只要参数列表不同:

public class Book {String title;double price;// 无参构造public Book() {this.title = "默认书名";this.price = 0.0;}// 一个参数的构造public Book(String title) {this.title = title;this.price = 0.0;}// 两个参数的构造public Book(String title, double price) {this.title = title;this.price = price;}void show() {System.out.println(title + " - " + price + "元");}
}

调用:

Book b1 = new Book();
Book b2 = new Book("Java入门");
Book b3 = new Book("深入Java", 88.8);b1.show();
b2.show();
b3.show();

✅ 四、使用 this(...) 调用其他构造方法(构造器链)

public class Person {String name;int age;// 构造器链public Person() {this("默认名", 0); // 调用有参构造}public Person(String name, int age) {this.name = name;this.age = age;}
}

注意:this(...) 必须写在构造方法的第一行

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

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

相关文章

Adobe Photoshop:数字图像处理的终极工具指南

Hi,我是布兰妮甜 !Adobe Photoshop自1990年问世以来,已经成为数字图像处理领域的标杆和代名词。这款强大的软件不仅彻底改变了摄影、设计和艺术创作的方式,还深刻影响了我们消费和感知视觉内容的文化方式。从专业摄影师到社交媒体…

本期来讲讲什么是LVS集群?

集群和分布式 集群(Cluster),解决某个问题将多台计算机组合形成的系统群。 常见的集群类型: 负载均衡(LoadBalancing,简称LB):由多个相同配置的主机组成,每个主机经过调度承担部分访问&#…

JVM 类加载过程笔记

一、概述 JVM(Java Virtual Machine)在运行 Java 程序时,需要将 .class 字节码文件加载到内存中,并转换成可以被 JVM 执行的数据结构,这一过程就是 类加载过程(Class Loading Process)。 JVM 的…

基于爬虫技术的电影数据可视化系统 Python+Django+Vue.js

本文项目编号 25002 ,文末自助获取源码 \color{red}{25002,文末自助获取源码} 25002,文末自助获取源码 目录 一、系统介绍二、系统录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状 六、核心代码6.1 查询数据6.2 新…

如何用 LUKS 和 cryptsetup 为 Linux 配置加密

在信息安全愈发重要的今天,为 Linux 系统盘配置全盘加密已经成为很多企业和个人的选择。LUKS(Linux Unified Key Setup)配合工具 cryptsetup 可以在不牺牲性能的前提下实现高强度加密。本文将通过一个故事化的场景,介绍整个配置过…

VIVADO技巧_BUFGMUX时序优化

1.版本说明日期作者版本说明2025xxxx风释雪初始版本 2.概述 基于VIVADO时序约束,BUFGMUX多路时钟选择原语的设计3.原语介绍 7系列FPGA/UltraSCale/UltraSCaleBUFGMUX_CTRL BUFGMUX_CTRL_inst (.O(O), // 1-bit output: Clock output.I0(I0), // 1-bit input: Cloc…

服务器系统时间不准确怎么办?

服务器系统时间不准确可能会导致日志错乱、任务调度失败、SSL证书校验错误等问题。以下是解决办法:🌐 一、同步系统时间的方法1. 使用 timedatectl 命令(适用于 systemd 系统)timedatectl set-ntp true # 开启自动同步 timedatect…

零信任产品联合宁盾泛终端网络准入,打造随需而变、精准贴合业务的网络安全访问体系

零信任网络访问控制(Zero Trust Network Access,ZTNA,文中零信任皆指 ZTNA)基于“永不信任,持续验证”的理念,打破了企业基于传统网络边界进行防护的固有模式。在当前日趋复杂的网络环境下,内部…

【未限制消息消费导致数据库CPU告警问题排查及解决方案】

一、背景 某天下午,上游系统同一时间突然下了三个大合同数据,平均每个合同数据实例在6万以上的量级,短短几分钟内瞬间有20万左右的流量涌入系统。 而在正常情况下,系统1天处理的流量也不过2千量级,当时数据库指标监控告…

iOS开发 Swift 速记2:三种集合类型 Array Set Dictionary

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…

Apache基础配置

一、Apache安装# 安装apache [rootwebserver ~]# yum install httpd -y# 在防火墙中放行web服务 [rootwebserver ~]# firewall-cmd --permanent --add-servicehttp success [rootwebserver ~]# firewall-cmd --permanent --add-servicehttps success# 开启服务 [rootwebserver …

Python100个库分享第37个—BeautifulSoup(爬虫篇)

目录专栏导读📚 库简介🎯 主要特点🛠️ 安装方法🚀 快速入门基本使用流程解析器选择🔍 核心功能详解1. 基本查找方法find() 和 find_all()CSS选择器2. 属性操作3. 文本提取🕷️ 实战爬虫案例案例1&#xff…

石子入水波纹效果:顶点扰动着色器实现

水面波纹的真实模拟是计算机图形学中一个经典且重要的课题,广泛应用于游戏、影视和虚拟现实等领域。本文将从技术原理和实现细节出发,系统介绍如何利用**顶点扰动(Vertex Displacement)**技术,结合多种辅助方法,打造既真实又高效的水面波纹效果。 一、顶点扰动的核心思想…

【FFmpeg 快速入门】本地播放器 项目

目录 🌈前言🌈 📁 整体架构 详细流程 📁 数据流向​ 📁 队列设计​编辑 📁 线程设计 📁 音视频同步 📁 音频输出设计 📁 视频输出设计 📁 总结 …

Maven dependencyManagement标签 properties标签

dependencyManagement标签properties标签

前端埋坑之element Ui 组件el-progress display:flex后不显示进度条解决方案

项目适用场景&#xff1a; <divs style"display&#xff1a;flex"> <span>这里是进度条前标题说明</span> <el-progress :percentage"50"></el-progress> </div> 问题呈现&#xff1a; el-progress进度条没啦&#xf…

嵌入式学习-土堆PyTorch(7)-day23

损失函数的调用import torch from torch import nn from torch.nn import L1Lossinputs torch.tensor([1.0,2.0,3.0]) target torch.tensor([1.0,2.0,5.0])inputs torch.reshape(inputs, (1, 1, 1, 3)) target torch.reshape(target, (1, 1, 1, 3)) #损失函数 loss L1Loss…

【2025最新】使用neo4j实现GraphRAG所需的向量检索

学习笔记&#xff0c;比较混乱&#xff0c;介意慎点。 背景 在将UMLS或者LightRAG构造的数据库存入neo4j之后&#xff0c;我开始将知识图谱运用到实际场景的使用中、例如查询、推理。然而&#xff0c;由于字符串匹配导致大量术语在检索时出现缺失。导致检索效果不佳。我们需要…

【AI深究】随机森林(Random Forest)全网最详细全流程详解与案例(附Python代码演示)|集成学习|数学原理、案例流程、代码演示及结果解读|参数与调优、工程启示、单棵决策树的对比、优缺点

大家好&#xff0c;我是爱酱。本篇将会系统地讲解随机森林&#xff08;Random Forest&#xff09;的原理、核心思想、数学表达、算法流程、代码实现与工程应用。内容适合初学者和进阶读者&#xff0c;配合公式和可视化示例。 注&#xff1a;本文章含大量数学算式、详细例子说明…