当前位置: 首页 > news >正文

【JAVA】Java基础—面向对象编程:构造方法的重载

在Java中,构造方法的重载允许一个类定义多个构造方法,这些构造方法可以具有不同的参数列表。通过构造方法的重载,我们可以根据不同的需求创建对象,并以不同的方式初始化对象的属性。

我们可以将构造方法的重载比作一个餐厅的菜单。餐厅提供多种菜品(构造方法),顾客可以根据自己的口味(参数)选择不同的菜品。比如,顾客可以选择不同的主料(如鸡肉、牛肉、素食)和配料(如米饭、面条、沙拉),从而形成多种不同的菜品(对象)。

构造方法的重载是通过定义多个构造方法,且这些方法具有不同的参数列表(参数类型、数量或顺序)来实现的。

1. 构造方法重载的示例

public class Rectangle {// 属性private double length;private double width;// 默认构造方法public Rectangle() {this.length = 1.0; // 默认长度this.width = 1.0;  // 默认宽度}// 自定义构造方法(一个参数)public Rectangle(double side) {this.length = side; // 正方形的边长this.width = side;  // 正方形的边长}// 自定义构造方法(两个参数)public Rectangle(double length, double width) {this.length = length; // 长方形的长度this.width = width;   // 长方形的宽度}// 计算面积的方法public double area() {return length * width; // 面积计算}
}

代码解释

  • public Rectangle():这是一个默认构造方法,初始化lengthwidth为默认值1.0。

  • public Rectangle(double side):这是一个重载的构造方法,接受一个参数,用于创建正方形。

  • public Rectangle(double length, double width):这是另一个重载的构造方法,接受两个参数,用于创建长方形。

  • area()方法用于计算矩形的面积。

2. 使用构造方法重载创建对象

public class Main {public static void main(String[] args) {// 使用默认构造方法创建对象Rectangle rect1 = new Rectangle();System.out.println("矩形1的面积: " + rect1.area()); // 输出:矩形1的面积: 1.0// 使用一个参数的构造方法创建正方形Rectangle rect2 = new Rectangle(5.0);System.out.println("矩形2的面积: " + rect2.area()); // 输出:矩形2的面积: 25.0// 使用两个参数的构造方法创建长方形Rectangle rect3 = new Rectangle(4.0, 6.0);System.out.println("矩形3的面积: " + rect3.area()); // 输出:矩形3的面积: 24.0}
}

代码解释

  • Rectangle rect1 = new Rectangle();:使用默认构造方法创建rect1对象,面积为1.0。

  • Rectangle rect2 = new Rectangle(5.0);:使用一个参数的构造方法创建rect2对象,表示一个边长为5.0的正方形,面积为25.0。

  • Rectangle rect3 = new Rectangle(4.0, 6.0);:使用两个参数的构造方法创建rect3对象,表示一个长方形,面积为24.0。

相关文章:

【JAVA】Java基础—面向对象编程:构造方法的重载

在Java中,构造方法的重载允许一个类定义多个构造方法,这些构造方法可以具有不同的参数列表。通过构造方法的重载,我们可以根据不同的需求创建对象,并以不同的方式初始化对象的属性。 我们可以将构造方法的重载比作一个餐厅的菜单…...

科研绘图系列:R语言多图形组合(barplot boxplot stacked plots)

文章目录 介绍加载R包数据下载图:Barplot图:Boxplot per elemental composition图:网络的边数目图:Clusters - elemental composition合并图形系统信息介绍 R语言多个图形组合 加载R包 library(tidyverse) library(ggpubr) library(rstatix) library(patchwork)数据下载…...

诡异的win11远程桌面连接一闪而过

客户端win10,服务器端是win2019 上面的仅允许允许使用网络级别身份验证的也勾掉了。 mstsc和mstsc -admin远程桌面连接,输入ip点连接后闪退,根本不弹出用户密码输入。但有人也是win10却可以连,也不知道自己的win10有啥差异的地方。…...

基因组编辑与CRISPR技术:基因治疗的革命性突破

引言 基因组编辑技术的出现,尤其是CRISPR-Cas9技术的问世,极大地推动了生物医学研究和基因治疗的发展。这一技术不仅为基础科学研究提供了强大的工具,也为治疗遗传性疾病、癌症以及某些病毒感染开辟了新的治疗思路。基因组编辑技术可以精准地…...

智能检测技术与传感器(热电传感器四个定律)

热电传感器: 两种不同的导体两端相互紧密地连接在一起,组成一个闭合回路。当两接点温度不等时(设 ),回路中就会产生大小和方向与导体材料及两接点的温度有关的电动势,从而形成电流,这种现象称为…...

C# WPF FontDialog字体对话框,ColorDialog颜色对话框 引用

WPF 并没有内置FontDialog和ColorDialog,但可以通过引用 Windows Forms 的控件来实现字体和颜色选择对话框功能。FontDialog 允许用户选择字体、样式、大小等设置。 添加 Windows Forms的引用 项目工程:右键“引用”》“添加引用”》勾选System.Window…...

在unity中实现把普通的照片,图片 变成油画风格的shader实现

可以通过对shader的Radius的值得设置来改变油画风格的力度,0最小,10是最大。...

使用elementUI实现表格行拖拽改变顺序,无需引入外部库

前言: 使用vue2element UI,且完全使用原生的拖拽事件,无需引入外部库。 如果表格数据量较大,或需要更多复杂功能,可以考虑使用 vuedraggable库,提供更多配置选项和拖拽功能。 思路: 1. 通过el-table的ro…...

PySpark 数据处理实战:从基础操作到案例分析

Spark 的介绍与搭建:从理论到实践_spark环境搭建-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 Spark 程序开发与提交:本地与集群模式全解析-CSDN博客 Spark on YARN:Spark集群模式…...

恒源云使用手册记录:从服务器下载数据到本地

文章目录 一、xftp下载二、通过Xftp客户端连接站点 一、xftp下载 先下载xftp:下载连接 二、通过Xftp客户端连接站点 右击文件,点击新建 名称可以任意 主机、端口号、用户名 点击这里的复制登录命令 比如我这里得到ssh -p 41604 rooti-2.gpushare.co…...

【大咖云集 | IEEE计算智能学会广州分会支持】第四届信息技术与当代体育国际学术会议(TCS 2024,12月13-15日)

第四届信息技术与当代体育国际学术会议(TCS 2024) 2024 4th International Conference on Information Technology and Contemporary Sports 重要信息 会议官网:www.icitcs.net(会议关键词:TCS 2024) 202…...

【AI声音克隆整合包及教程】第二代GPT-SoVITS V2:技术、应用与伦理思考

一、引言 在当今科技迅速发展的时代,声音克隆技术成为人工智能领域的一个备受瞩目的分支。GPT-SoVITS V2作为一种声音克隆工具,正逐渐进入人们的视野,它在多个领域展现出巨大的潜力,同时也引发了一系列值得深入探讨的问题。本文旨…...

利用AI制作《职业生涯规划PPT》,10分钟完成

职业生涯规划是大学生活中非常重要的一环。通过制定职业规划,你能够明确未来的职业目标、认清自身的优劣势,进而制定切实可行的计划,以便顺利踏上职业发展的道路。而制作一份精美的职业生涯规划PPT,能有效帮助你在面试、职业规划报…...

【Java多线程】线程安全及解决方案(详解)

目录 线程安全问题引入: 线程安全原因 如何解决线程安全问题? (1)synchronized关键字 1)sychronized关键字的特性: 2)可重⼊ synchronized使⽤⽰例 (2)volatile关键字 1)内存可见性和…...

【前端基础】Javascript取整函数以及向零取整方式

向零取整方式 在JavaScript中,有多种方式可以对数字进行取整操作,即去掉小数部分,只保留整数部分。其中,向0取整(也称为截断小数部分)的方式有以下几种常用的方法: 使用 Math.trunc()&#xff…...

禅道与Jira与Ones对比:哪个更适合你的项目管理需求?

一、项目管理工具的重要性 在当今复杂的项目环境中,选择合适的项目管理工具对项目成功至关重要。随着项目规模的不断扩大、涉及领域的日益广泛以及团队成员的分散性,传统的项目管理方式已经难以满足需求。 项目管理工具可以帮助团队更好地规划和组织项…...

Linux I/O编程:I/O多路复用与异步 I/O对比

文章目录 0. 引言1. I/O 模型简介1.1 阻塞 I/O(Blocking I/O)1.2 非阻塞 I/O(Non-Blocking I/O)1.3 信号驱动式 I/O(Signal-Driven I/O)1.4 多路复用 I/O(I/O Multiplexing)1.5 异步…...

Spark Plan 之 SQLMetric

SQLMetric Spark Plan 包含以下基本 方法, /*** return All metrics containing metrics of this SparkPlan.*/def metrics: Map[String, SQLMetric] Map.empty/*** return [[SQLMetric]] for the name.*/def longMetric(name: String): SQLMetric metrics(name)…...

基于YOLOv5模型的火焰识别系统

大家好,YOLOv5模型能够快速准确地检测到火灾火焰,在火灾初期甚至是刚刚出现火苗时就发出警报。这为及时采取灭火措施争取了宝贵的时间,极大地降低了火灾造成的损失。系统可以对特定区域进行持续实时监测,无论白天还是夜晚&#xf…...

多模态AI:开启人工智能的新纪元

在人工智能的璀璨星河中,多模态AI技术正逐渐成为一颗耀眼的明星。随着科技的飞速发展,AI技术正以前所未有的速度迈向新的高峰,其中多模态AI的兴起尤为引人注目。本文将深入探讨多模态AI的定义、技术原理、应用场景以及未来发展趋势。 ps.图…...

麒麟信安支撑2024年电力监控系统网络安全加固培训护航电力网络安全!

在网络安全形势日益复杂的今天,电力行业的网络安全尤为重要。为提升电力监控系统网络安全运维人员的专业技能,由国调中心网安处精心策划,国家电网技术学院组织开展的“2024年电力监控系统网络安全加固培训”于近日圆满结束。麒麟信安作为重要…...

横表和纵表 中的横表

图1 图2...

7个常用的JavaScript数组操作进阶用法

文章目录 1、查找数组中的最大值方法一:使用 Math.max 和展开运算符方法二:使用 for 循环逐一比较 2、查找数组中的第二大值方法一:排序后取第二大值方法二:遍历找到第二大值 3、去除数组中的重复项4、合并两个有序数组并保持有序5、旋转数组…...

Spark的Standalone集群环境安装

一.简介 与MR对比: 概念MRYARNSpark Standalone主节点ResourceManagerMaster从节点NodeManagerWorker计算进程MapTask,ReduceTaskExecutor 架构:普通分布式主从架构 主:Master:管理节点:管理从节点、接…...

Android Glide动态apply centerCropTransform(),transition withCrossFade动画,Kotlin

Android Glide动态apply centerCropTransform(),transition withCrossFade动画,Kotlin import android.graphics.Bitmap import android.os.Bundle import android.widget.ImageView import androidx.appcompat.app.AppCompatActivity import com.bumptech.glide.Glide import …...

shukla方差和相对平均偏差

参考资料:实用统计学【李奉令】 Eberhart-Russell模型、Shukla模型、相对平均偏差稳定性分析比较 相对平均偏差在品种稳定性分析中的作用 1、Shukla方差 生物统计中,用于描述一个群体离散程度的统计量有离差、方差、极差等, 国内品种区域试…...

双指针(二)双指针到底是怎么个事

一.有效的三角形个数 有效的三角形个数 class Solution {public int triangleNumber(int[] nums) {Arrays.sort(nums);int i0,end nums.length-1;int count 0;for( i end;i>2;i--){int left 0;int right i-1;while(left<right){if(nums[left]nums[right]>nums…...

vscode通过remote-ssh连接远程开发机

文章目录 安装扩展注意事项:tips其他参数安装扩展 安装VS Code和SSH-Remote扩展:首先,需要确保你已经在本地计算机上安装了VS Code,并且在扩展市场中搜索并安装了"Remote - SSH"扩展。配置SSH:在本地计算机上,打开VS Code的命令面板(使用快捷键"Ctrl+Shi…...

uniapp实现H5和微信小程序获取当前位置(腾讯地图)

之前的一个老项目&#xff0c;使用 uniapp 的 uni.getLocation 发现H5端定位不准确&#xff0c;比如余杭区会定位到临平区&#xff0c;根据官方文档初步判断是项目的uniapp的版本太低。 我选择的方式不是区更新uniapp的版本&#xff0c;是直接使用高德地图的api获取定位。 1.首…...

SQL HAVING子句

SQL 是一种基于“面向集合”思想设计的语言。HAVING 子句是一个聚合函数&#xff0c;用于过滤分组结果。 1 实践 1.1 缺失的编号 图 连续编号记录表t_seq_record 需求&#xff1a;判断seq 列编号是否有缺失。 SELECT 存在缺失的编号 AS res FROM t_seq_record HAVING COUN…...

网页和网站的联系/学seo哪个培训好

Toy Posted in Apps, IDECobras 是次要专注于行使 Qt 的集成开辟环境&#xff08;IDE&#xff09;&#xff0c;它宣布在 GNU GPL 允许和谈之下&#xff0c;仅需求 gcc 和 gdb 作为内部东西&#xff0c;程序功用厚实&#xff0c;且运转不乱而疾速。行使 Qt 从事软件开辟的冤家没…...

自己做的网站百度搜到/sem推广软件哪家好

#练习 #程序购物车 #启动程序后&#xff0c;让用户输入工资&#xff0c; 然后打印商品列表&#xff0c;允许用户根据商品编号购买商品用户选择商品后 #检测余额是否够&#xff0c;够就直接扣款&#xff0c;不够就提醒可随时退出&#xff0c;退出时&#xff0c;打印已购买商品和…...

北京建委安全员c证/seo公司优化方案

文章目录Request Entity Too Large1. 问题描述2. 解决Request Entity Too Large 1. 问题描述 [!NOTE] 在使用nginx时&#xff0c;在上传文件接口通过nginx转发到服务器时&#xff0c;发现抛出“error”错误&#xff0c;仔细发现抛出错误内容为&#xff1a;413-Request Entity …...

苹果电脑网站开发软件/搜索关键词的网站

VMware Horizon7的部署之前在我市某局的内网中我也部署过一次&#xff0c;那一次部署的是50个桌面的虚拟化。这次部署的环境就是上期我介绍的学校网络建设的延续&#xff0c;应校方的要求部署一个小型的VMware Horizon7系统&#xff0c;因服务器的性能有限所以这次只部署5个win…...

青岛外贸网站制作公司/dw网站制作

问题描述&#xff1a; 假设在数据库中存在以下两张数据表&#xff1a; User表&#xff0c;存放用户的基本信息&#xff0c;基本结构如下所示&#xff1a; 类型说明ID_Userint自动增长字段&#xff0c;用作该表的主键UserNamevarchar UserDepart表&#xff0c;存放用户所拥有的部…...

做招聘网站价格/自助建站网站模板

目录 零、前言 一、算法思想 二、实现思路 四、源码 零、前言 今天我学习了二分查找&#xff08;折半查找法&#xff09;&#xff0c;它是用于在有序集合中查找某一元素的便捷算法&#xff1b;算法思想易于理解&#xff0c;很多同学看了就觉得自己会了&#xff0c;但是约易…...