Java学习笔记------常用API(二)

Object

无有参构造

public Object()     空参构造

成员方法:

public String toString()       返回对象的字符串表示

public boolean  equals(object obj)    比较两个对象是否相等

Object默认用==号比较地址值,需要重写才能比较属性值

protected Object clone(int a)       对象克隆

对象克隆

把a对象的属性值完全拷贝给b对象,也叫对象拷贝,对象复制

深克隆:基本数据类型拷贝过来,字符串复用,引用数据类型会重新创建新的

浅克隆:不管对象内部的属性是基本数据类型还是引用数据类型,都完全拷贝下来

object中的是浅克隆

深克隆需要重写

浅克隆

import java.util.Arrays;public class student implements Cloneable{private int age;private String name;private int[] date;public student() {}public student(int age, String name, int[] date) {this.age = age;this.name = name;this.date = date;}/*** 获取* @return age*/public int getAge() {return age;}/*** 设置* @param age*/public void setAge(int age) {this.age = age;}/*** 获取* @return name*/public String getName() {return name;}/*** 设置* @param name*/public void setName(String name) {this.name = name;}/*** 获取* @return date*/public int[] getDate() {return date;}/*** 设置* @param date*/public void setDate(int[] date) {this.date = date;}public String toString() {return "student{age = " + age + ", name = " + name + ", date = " + Arrays.toString(date) + "}";}//调用父类的clone,相当于Java帮我们克隆@Overrideprotected Object clone() throws CloneNotSupportedException {return super.clone();}
}
public class Main {public static void main(String[] args) throws CloneNotSupportedException{int[]date={1,2,3,4,5,6,7};student a=new student(15,"hangman",date);//浅克隆student b=(student)a.clone();System.out.println(a);System.out.println(b);}
}

 

深克隆 

 

import java.util.Arrays;public class student implements Cloneable{private int age;private String name;private int[] date;public student() {}public student(int age, String name, int[] date) {this.age = age;this.name = name;this.date = date;}/*** 获取* @return age*/public int getAge() {return age;}/*** 设置* @param age*/public void setAge(int age) {this.age = age;}/*** 获取* @return name*/public String getName() {return name;}/*** 设置* @param name*/public void setName(String name) {this.name = name;}/*** 获取* @return date*/public int[] getDate() {return date;}/*** 设置* @param date*/public void setDate(int[] date) {this.date = date;}public String toString() {return "student{age = " + age + ", name = " + name + ", date = " + Arrays.toString(date) + "}";}//调用父类的clone,相当于Java帮我们克隆@Overrideprotected Object clone() throws CloneNotSupportedException {int[]date=this.date;int[]newdate=new int[date.length];for (int i = 0; i < date.length ; i++) {newdate[i]=date[i];}//调用父类克隆方法student a=(student)super.clone();a.date=newdate;return a;}
}
public class Main {public static void main(String[] args) throws CloneNotSupportedException{int[]date={1,2,3,4,5,6,7};student a=new student(15,"hangman",date);//深克隆student b=(student)a.clone();int[]arr= a.getDate();arr[0]=100;System.out.println(a);System.out.println(b);}
}

 

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

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

相关文章

ROS2(Cpp或Python)机器学习路径选择三维模拟平衡车及YOLOv8视觉消息

要点 机器人运动几何和运动学&#xff0c;Python短代码简述 ROS2创建包&#xff0c;使用C和Python创建以下任务&#xff1a;创建发布者和订阅者并使用CMake编译&#xff0c;创建ROS2启动文件&#xff0c;创建自定义消息和Turtlebot3服务节点&#xff0c;使用ROS2组件编译视觉管…

使用Anaconda创建Python指定版本的虚拟环境

由于工作的需要和学习的需要&#xff0c;需要创建不同Python版本的虚拟环境。 比如zdppy的框架&#xff0c;主要支持的是Python3.8的版本&#xff0c;但是工作中FastAPI主要使用的是3.11的版本&#xff0c;所以本地需要两套Python环境。 决定使用Anaconda虚拟环境管理的能力&…

【小白学机器学习8】统计里的自由度DF=degree of freedom, 以及关于df=n-k, df=n-k-1, df=n-1 等自由度公式

目录 1 自由度 /degree of freedom / df 1.1 物理学的自由度 1.2 数学里的自由度 1.2.1 数学里的自由度 1.2.2 用线性代数来理解自由度&#xff08;需要补充&#xff09; 1.2.3 统计里的自由度 1.3 统计学里自由度的定义 2 不同对象的自由度 2.1 纯公式的自由度&#…

xss.haozi.me靶场“0x0B-0x12”通关教程

君衍. 一、0x0B 实体编码绕过二、0x0C script绕过三、0x0D 注释绕过四、0X0E ſ符号绕过五、0x0F 编码解码六、0x10 直接执行七、0x11 闭合绕过八、0x12 闭合绕过 一、0x0B 实体编码绕过 我们首先构造payload进行测试&#xff1a; 这里我们可以看到全部转为了大写&#xff0c…

华为OD机试真题-模拟目录管理-2024年OD统一考试(C卷)

题目描述: 实现一个模拟目录管理功能的软件,输入一个命令序列,输出最后一条命令运行结果。 支持命令: 1)创建目录命令:mkdir 目录名称,如mkdir abc为在当前目录创建abc目录,如果已存在同名目录则不执行任何操作。此命令无输出。 2)进入目录命令:cd 目录名称, 如cd …

Linux 配置安装ftp 运维工程师必备技能难度***

访问控制 [rootstation02 ~]# vim /etc/vsftpd/vsftpd.conf anonymous_enableNO //是否允许匿名用户登录 local_enableYES //是否允许本地用户登录 write_enableYES //是否允许写&#xff08;全局&#xff09; local_umask022 …

2024年3月份实时获取地图边界数据方法,省市区县街道多级联动【附实时geoJson数据下载】

首先&#xff0c;来看下效果图 在线体验地址&#xff1a;https://geojson.hxkj.vip&#xff0c;并提供实时geoJson数据文件下载 可下载的数据包含省级geojson行政边界数据、市级geojson行政边界数据、区/县级geojson行政边界数据、省市区县街道行政编码四级联动数据&#xff0…

使用折半法判断一个数据是否在一个数组中

import java.util.*; /** * E类包含了main方法&#xff0c;用于执行程序。 */ public class E { /** * 程序的主入口函数。 * param args 命令行参数&#xff08;未使用&#xff09; */ public static void main(String args[]){ // 初始化起…

Milvus的向量索引(内存索引)

版本: v2.3.x官网: https://milvus.io/docs/index.md 一、简介 Milvus 支持的各种类型的内存索引、每种索引最适合的场景以及用户可以配置以获得更好搜索性能的参数。索引是有效组织数据的过程&#xff0c;它通过显着加速大型数据集上耗时的查询&#xff0c;在使相似性搜索变…

一台GTX1080显卡的怪兽,我可不能错过这个机会!

标题&#xff1a;我花了30块钱买了一台电脑主机。 这个配置能赚钱吗&#xff1f; 1. 收购惊喜 那是一个阳光明媚的下午&#xff0c;我在水管修理店里闲逛。 突然&#xff0c;一位老顾客手里拿着一台旧电脑主机匆匆走了进来。 他说&#xff1a;“小王&#xff0c;你能帮我看看…

【算法训练营】周测3

清华大学驭风计划课程链接 学堂在线 - 精品在线课程学习平台 (xuetangx.com) 如果需要答案代码可以私聊博主 有任何疑问或者问题&#xff0c;也欢迎私信博主&#xff0c;大家可以相互讨论交流哟~~ 考题11-3 题目描述 输入格式 输出格式 输出到标准输出。 若可以通关&…

STM32的GPIO初始化配置-学习笔记

简介&#xff1a; 由于刚开始没有学懂GPIO的配置原理&#xff0c;导致后面学习其它外设的时候总是产生阻碍&#xff0c;因为其它外设要使用前&#xff0c;大部分都要配置GPIO的初始化&#xff0c;因此这几天重新学习了一遍GPIO的配置&#xff0c;记录如下。 首先我们要知道芯片…

力扣701. 二叉搜索树中的插入操作

思路&#xff1a;往二叉搜索树中插入一个值&#xff0c;树的结构有多种符合的情况&#xff0c;那我们可以选一种最容易的插入方式&#xff0c;反正只需要插入一个值而已&#xff0c;我们不难发现&#xff0c;不管插入什么值&#xff0c;都可以安排插入到叶子节点上。 再利用二叉…

传统SessionID,Cookie方式与SringSecurity+JWT验证方式

在Spring Boot框架中&#xff0c;可以使用Spring Session来处理会话管理。Spring Session允许开发者在不同的存储后端&#xff08;如Redis、数据库等&#xff09;之间共享和管理会话状态。通过Spring Session&#xff0c;开发者可以轻松地实现会话管理、会话失效以及跨多个节点…

Redux Toolkit

本文作者为 360 奇舞团前端开发工程师 阅读本文章前&#xff0c;需要先了解下 redux 的基本概念与用法&#xff0c;Redux Toolkit 是建立在 Redux 基础之上的工具包&#xff0c;因此需要对 Redux 的基本概念有一定的了解&#xff0c;包括 Action、Reducer、Store、Middleware 等…

彻底解决 ModuleNotFoundError: No module named ‘torch_scatter‘

之前做实验报了一个错误&#xff0c;卡了很久。 具体就是这行代码 from torch_scatter import scatter_add 这个torch_scatter是非官方的库&#xff0c;经常安装失败&#xff0c; 找了很多的安装方法&#xff0c;都不好使&#xff0c;特别是对新版的pytorchcuda环境 机缘巧…

【C语言】如何规避野指针

✨✨ 欢迎大家来到莉莉的博文✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 目录 一、概念&#xff1a; 二、野指针成因&#xff1a; 2.1. 指针未初始化 2.2 指针越界访问 3. 指针指向的空间释放 三、如何规避野指针 3.…

专题二 - 滑动窗口 - leetcode 904. 水果成篮 | 中等难度

leetcode 904. 水果成篮 leetcode 904. 水果成篮 | 中等难度1. 题目详情1. 原题链接2. 基础框架 2. 解题思路1. 题目分析2. 算法原理3. 时间复杂度 3. 代码实现4. 知识与收获 leetcode 904. 水果成篮 | 中等难度 1. 题目详情 你正在探访一家农场&#xff0c;农场从左到右种植…

html5cssjs代码 016 表格示例

html5&css&js代码 016 表格示例 一、代码二、解释 这段HTML代码定义了一个网页&#xff0c;展示了不同类型的表格示例。页面使用了CSS样式来控制字体颜色、背景颜色、表格样式等。 一、代码 <!DOCTYPE html> <html lang"zh-cn"> <head>&l…

OpenResty使用Lua大全(一)Lua语法入门实战

文章目录 系列文章索引一、OpenResty使用Lua入门1、hello world2、nginx内部变量 二、Lua入门1、简介1、hello world2、基本语法&#xff08;1&#xff09;注释&#xff08;2&#xff09;数据类型&#xff08;3&#xff09;变量&#xff08;4&#xff09;函数&#xff08;5&…