0402-对象和类(访问器 更改器 日期类)

OOP:面向对象程序设计

类:构造对象的模板或蓝图

类构造对象的过程称为创建类的实例 

封装:对外隐藏数据的真实实现方式,提供简单的方法 (类比方向盘)

对象:本质上是内存中的一小块空间

识别类:不同的类有不同的特征

预定义类:Java提供的各类方法

构造器(构造方法):new的时候调用的那个方法;与类名完全一致

Date类:

new Date()

LocalDate类:

LocalDate.now() 创建新对象

LocalDate.of(1999,12,31) 指定创建特定日期

getYear() getMonthValue() getDayOfMonth()

更改器(能够做修改)与访问器(访问数据):

package 第四章对象和类;import java.time.LocalDate;
import java.util.Arrays;public class Test {public static void main(String[] args) {
//		LocalDate.now();
//		LocalDate newYear=LocalDate.of(2004, 3, 6);
//		System.out.println(newYear);
//		int year=newYear.getYear();
//		System.out.println(year);
//		int month=newYear.getMonthValue();
//		System.out.println(month);
//		int day=newYear.getDayOfMonth();
//		System.out.println(day);Person xx=new Person();
//		xx.flag1=10;
//		System.out.println(xx.flag1);
//		//xx.flag2??
//		xx.setFlag2(30);System.out.println(Arrays.toString(xx.getFlag3()));int[] arr=xx.getFlag3();arr[0]=111;arr[1]=222;System.out.println(Arrays.toString(xx.getFlag3()));//,flag3没有提供更改器,但会将flag3更改//		}
}
package 第四章对象和类;public class Person {
//	public int flag1;//所有的类都可以访问到
//	private int flag2=130184;//只能在当前的类访问//想要访问private可以通过访问器//访问器
//		public int getFlag2() {
//			return flag2;
//		}//更改器 能够修改
//		public void setFlag2(int flag2) {
//			//当前对象
//			this.flag2=flag2;
//		}private int[] flag3= {1,2,3,4};//引用类型默认的访问器和更改器不安全:会暴露地址public int[] getFlag3() {//默认访问器:浅拷贝
//		return flag3;//安全写法:深拷贝int[] temp=new int[flag3.length];for(int i=0;i<flag3.length;i++) {temp[i]=flag3[i];}return temp;}private String flag4="hello";//安全:因为字符串不可变,即使暴露了也没关系public String getFlag4() {return flag4;}}

LocalDate类:日历 

package 第四章对象和类;import java.time.DayOfWeek;
import java.time.LocalDate;public class CalendarTest {public static void main(String[] args) {//打印当前月份的日历// 获取当前日期LocalDate date=LocalDate.now();// 获取当前月份int month=date.getMonthValue();// 获取今天是几号int today=date.getDayOfMonth();// 将日期设置为当月第一天(减去今天的天数-1)date=date.minusDays(today-1);// 获取当月第一天是星期几DayOfWeek weekday=date.getDayOfWeek();// 获取星期几对应的数值(1=星期一,...,7=星期日)int value=weekday.getValue();System.out.println("Mon Tue Wed Thu Fri Sat Sun");for(int i=1;i<value;i++)System.out.println("   ");// 循环打印当月所有日期while(date.getMonthValue()==month) {// 打印日期(右对齐,占3位)System.out.printf("%3d",date.getDayOfMonth());// 如果是今天,在日期后加*标记if(date.getDayOfMonth()==today)System.out.print("*");elseSystem.out.print(" ");// 日期加1天date=date.plusDays(1);// 如果是周日,换行if(date.getDayOfWeek().getValue()==1)System.out.println();}// 如果最后一天不是周日,换行if(date.getDayOfWeek().getValue()!=1)System.out.println();}
}

 

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

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

相关文章

【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的文件上传与下载:实现文件管理功能

<前文回顾> 点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、开篇整…

搜索算法------DFS练习2

1. 题目 2. 思路和题解 从题目中可以看出&#xff0c;如果一个格子上有雨水&#xff0c;那么就可以流到周围比他高度低的单元格&#xff0c;如果单元格和海洋相邻&#xff0c;那么雨水也会流入海洋。总而言之一句话就是水从高处流向低处。从这里的流向可以联想到深度优先搜索这…

[python] 正则表达式

1.分割str s"1-2--3---4" are.findall(r\d|[-],s) # 输出&#xff1a;[1, -, 2, --, 3, ---, 4]s"-4(2(3)" # ? 表示 - 可以出现0次或1次 # \d 表示匹配一个或多个连续数字 # \D 表示匹配非数字字符 sre.findall(r-?\d|\D,s) # 输出&#xff1a;[-4, (,…

定制化管理系统与通用管理系统,谁更胜一筹?

一、定制化管理系统与通用管理系统的定义与特点 定制化管理系统 定制化管理系统是根据企业的具体业务需求和流程进行个性化开发的软件系统。它能够深度贴合企业的管理需求&#xff0c;提供高度灵活的解决方案。其特点包括&#xff1a; 高度适应性&#xff1a;能够精准匹配企业…

gitee 配置git上传

Git入门&#xff1f;查看 帮助 , Visual Studio / TortoiseGit / Eclipse / Xcode 下如何连接本站, 如何导入仓库 简易的命令行入门教程: Git 全局设置: 以 176fuguM2项目为例 git config --global user.name "堕落圣甲虫" git config --global user.email "11…

SpringBoot+Vue 中 WebSocket 的使用

WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议&#xff0c;它使得客户端和服务器之间可以进行实时数据传输&#xff0c;打破了传统 HTTP 协议请求 - 响应模式的限制。 下面我会展示在 SpringBoot Vue 中&#xff0c;使用WebSocket进行前后端通信。 后端 1、引入 j…

STM32 FATFS - 在SDIO的SD卡中运行fatfs

参考文章 STM32CubeMX | SD Card FATFS - 知乎 [STM32F4]基于F407的硬件移植Free RTOSFATFS&#xff08;SDIO&#xff09;_freertosfatfs-CSDN博客 例程地址&#xff1a;STM32FatFS: 基于stm32的fatfs例程&#xff0c;配合博客文章 基于梁山派天空星开发板&#xff0c;STM3…

Java 进化之路:从 Java 8 到 Java 21 的重要新特性

Java 进化之路&#xff1a;从 Java 8 到 Java 21 的重要新特性 开篇介绍 在软件开发领域&#xff0c;Java 作为一门历史悠久且广泛应用的编程语言&#xff0c;始终保持着其核心竞争力和持续创新能力。自 Java 8 发布以来&#xff0c;Java 经历了一系列重要版本更新&#xff0…

Reactor 事件流 vs. Spring 事件 (ApplicationEvent)

Reactor 事件流 vs. Spring 事件 ApplicationEvent Reactor 事件流 vs. Spring 事件 (ApplicationEvent)1️⃣ 核心区别2️⃣ Spring 事件 (ApplicationEvent)✅ 示例&#xff1a;Spring 事件发布 & 监听1️⃣ 定义事件2️⃣ 发布事件3️⃣ 监听事件&#x1f539; 进阶&…

JVM生产环境问题定位与解决实战(六):总结篇——问题定位思路与工具选择策略

本文已收录于《JVM生产环境问题定位与解决实战》专栏&#xff0c;完整系列见文末目录 引言 在前五篇文章中&#xff0c;我们深入探讨了JVM生产环境问题定位与解决的实战技巧&#xff0c;从基础的jps、jmap、jstat、jstack、jcmd等工具&#xff0c;到JConsole、VisualVM、MAT的…

【5090d】配置运行和微调大模型所需基础环境【一】

RuntimeError: Failed to import transformers.integrations.bitsandbytes because of the following error (look up to see its traceback): No module named triton.ops 原因&#xff1a;是因为在导入 transformers.integrations.bitsandbytes 时缺少必要的依赖项 triton.op…

华为交换综合实验——VRRP、MSTP、Eth-trunk、NAT、DHCP等技术应用

一、实验拓扑 二、实验需求 1,内网Ip地址使用172.16.0.0/16分配 2,sw1和SW2之间互为备份 3, VRRP/STP/VLAN/Eth-trunk均使用 4,所有Pc均通过DHCP获取IP地址 5,ISP只能配置IP地址 6,所有电脑可以正常访问IsP路由器环回 三、需求分析 1、设备连接需求 二层交换机&#xff08;LS…

DeepSeek 开源的 3FS 如何?

DeepSeek 3FS&#xff08;Fire-Flyer File System&#xff09;是一款由深度求索&#xff08;DeepSeek&#xff09;于2025年2月28日开源的高性能并行文件系统&#xff0c;专为人工智能训练和推理任务设计。以下从多个维度详细解析其核心特性、技术架构、应用场景及行业影响&…

Qt实现HTTP GET/POST/PUT/DELETE请求

引言 在现代应用程序开发中&#xff0c;HTTP请求是与服务器交互的核心方式。Qt作为跨平台的C框架&#xff0c;提供了强大的网络模块&#xff08;QNetworkAccessManager&#xff09;&#xff0c;支持GET、POST、PUT、DELETE等HTTP方法。本文将手把手教你如何用Qt实现这些请求&a…

echarts+HTML 绘制3d地图,加载散点+散点点击事件

首先&#xff0c;确保了解如何本地引入ECharts库。 html 文件中引入本地 echarts.min.js 和 echarts-gl.min.js。 可以通过官网下载或npm安装&#xff0c;但这里直接下载JS文件更简单。需要引入 echarts.js 和 echarts-gl.js&#xff0c;因为3D地图需要GL模块。 接下来是HTM…

深度剖析 MySQL 与 Redis 缓存一致性:理论、方案与实战

在当今的互联网应用开发中&#xff0c;MySQL 作为可靠的关系型数据库&#xff0c;与 Redis 这一高性能的缓存系统常常协同工作。然而&#xff0c;如何确保它们之间的数据一致性&#xff0c;成为了开发者们面临的重要挑战。本文将深入探讨 MySQL 与 Redis 缓存一致性的相关问题&…

DAO 类的职责与设计原则

1. DAO 的核心职责 DAO&#xff08;Data Access Object&#xff0c;数据访问对象&#xff09;的主要职责是封装对数据的访问逻辑&#xff0c;但它与纯粹的数据实体类&#xff08;如 DTO、POJO&#xff09;不同&#xff0c;也与 Service 业务逻辑层不同。 DAO 应该做什么&…

【Kubernetes】如何使用 kubeadm 搭建 Kubernetes 集群?还有哪些部署工具?

使用 kubeadm 搭建 Kubernetes 集群是一个比较常见的方式。kubeadm 是 Kubernetes 提供的一个命令行工具&#xff0c;它可以简化 Kubernetes 集群的初始化和管理。下面是使用 kubeadm 搭建 Kubernetes 集群的基本步骤&#xff1a; 1. 准备工作 确保你的环境中有两台或更多的机…

Pycharm(十二)列表练习题

一、门和钥匙 小X在一片大陆上探险&#xff0c;有一天他发现了一个洞穴&#xff0c;洞穴里面有n道门&#xff0c; 打开每道门都需要对应的钥匙&#xff0c;编号为i的钥匙能用于打开第i道门&#xff0c; 而且只有在打开了第i(i>1)道门之后&#xff0c;才能打开第i1道门&#…

在未归一化的线性回归模型中,特征的尺度差异可能导致模型对特征重要性的误判

通过数学公式来更清晰地说明归一化对模型的影响&#xff0c;以及它如何改变特征的重要性评估。 1. 未归一化的情况 假设我们有一个线性回归模型&#xff1a; y β 0 β 1 x 1 β 2 x 2 ϵ y \beta_0 \beta_1 x_1 \beta_2 x_2 \epsilon yβ0​β1​x1​β2​x2​ϵ 其…