【学习总结|DAY012】Java面向对象基础

一、前言

今天主要学习了以下内容:面向对象的理解与使用、对象的内存布局、构造器的概念和作用、封装的重要性以及JavaBean实体类的实现等。下面我将详细阐述这些知识点。

二、面向对象的理解与使用

1. 什么是面向对象?

  • :一种特殊的数据结构,用于存储属性和方法。
  • 对象:类的实例化,通过new关键字创建。

2. 类的好处

  • 方便数据的组织和管理;
  • 提高代码的可重用性和可维护性;

3. 如何定义和使用类?

class Student {String name; // 属性int age;public void study() { // 方法System.out.println(name + "正在学习");}
}public class Main {public static void main(String[] args) {Student stu = new Student(); // 创建对象stu.name = "张三";stu.age = 20;stu.study();}
}

三、对象的内存布局

每个对象在JVM中有自己的内存空间,包括基本类型变量(如int, double)和引用类型变量(如String)。此外,还有方法区和堆栈区之分。

四、构造器的作用及实现

构造器是在创建对象时自动调用的特殊方法,用于初始化对象的成员变量。可以通过参数列表来定制不同的构造行为。

class Person {private String name;private int age;public Person(String n, int a) { // 构造器this.name = n;this.age = a;}public void introduce() {System.out.println("我叫" + name + ", 今年" + age + "岁。");}
}

五、封装的概念与方法

封装是指将类的内部细节隐藏起来,只暴露出必要的接口供外部调用。这有助于提高安全性并简化程序设计。

1. 使用private修饰符限制访问权限;

2. 通过getter/setter方法控制属性的读写操作;

3. 封装的好处是可以避免直接修改私有成员导致的错误。

六、JavaBean实体类的设计规范

JavaBean是一系列遵循特定规则的类的集合,它们通常具有以下特点:

  • 所有字段都是私有的(private);
  • 提供公共的方法来访问(getters)和设置(setters)这些字段的值;
  • 实现Serializable接口以便于序列化和反序列化。

七、静态关键字(static)

静态变量属于整个类而非单个实例,因此所有实例共享同一份内存空间。同样地,静态方法也不能直接访问非静态成员。

八、结语

通过今天的深入学习,我对Java的面向对象特性有了更深刻的认识和理解。今后将继续努力探索更多高级特性,不断提升自己的编程水平。

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

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

相关文章

网络安全知识:网络安全网格架构

在数字化转型的主导下,大多数组织利用多云或混合环境,包括本地基础设施、云服务和应用程序以及第三方实体,以及在网络中运行的用户和设备身份。在这种情况下,保护组织资产免受威胁涉及实现一个统一的框架,该框架根据组…

Spring04——注解开发

Spring3.0启用了纯注解开发模式,使用Java类替代配置文件,开启了Spring快速开发赛道 Java类代替Spring核心配置文件, 配置类(Configuration) Configuration注解用于设定当前类为配置类ComponentScan注解用于设定扫描路…

01_Node.js入门 (黑马)

01_Node.js入门 知识点自测 从 index.js 出发&#xff0c;访问到 student/data.json 的相对路径如何写? A&#xff1a;../public/teacher/data.json B&#xff1a;./public/student/data.json C&#xff1a;../student/data.json <details><summary>答案</sum…

哪款云手机适合多开?常用云手机功能对比

在全球化和数字化时代&#xff0c;云手机以其独特的灵活性和高效性&#xff0c;成为多账号运营和数字营销的热门工具。云手机能够解决传统设备管理的诸多痛点&#xff0c;例如账号关联、硬件成本高等问题。本文将为您推荐多款优质云手机品牌&#xff0c;帮助您选择最适合的工具…

【目标跟踪】DUT Anti-UAV数据集详细介绍

DUT Anti-UAV数据集是大连理工大学的团队公开的数据集&#xff08;DUT是他们学校的简称&#xff09;&#xff0c;其中包括了两个子数据集&#xff1a;目标检测和目标跟踪&#xff08;也就是说&#xff0c;目标检测和目标跟踪都可以用这个数据集&#xff09;。该数据集为可见光模…

青岛鼎信Java开发面试题及参考答案

MySQL 的事务特性有哪些&#xff1f; MySQL 事务具有四个重要特性&#xff0c;被称为 ACID 特性。 原子性&#xff08;Atomicity&#xff09;&#xff1a;事务是一个不可分割的工作单位&#xff0c;事务中的操作要么全部执行&#xff0c;要么全部不执行。例如&#xff0c;在银行…

【机器学习】分类器

在机器学习(Machine Learning&#xff0c;ML)中&#xff0c;分类器泛指算法或模型&#xff0c;用于将输入数据分为不同的类别或标签。分类器是监督学习的一部分&#xff0c;它依据已知的数据集中的特征和标签进行训练&#xff0c;并根据这些学习到的知识对新的未标记数据进行分…

[软件开发幼稚指数评比]《软件方法》自测题解析010

第1章自测题 Part2 **9 [**单选题] 以下说法和其他三个最不类似的是: A)如果允许一次走两步&#xff0c;新手也能击败象棋大师 B)百米短跑比赛才10秒钟&#xff0c;不可能为每一秒做周密计划&#xff0c;凭感觉跑就是 C)即使是最好的足球队&#xff0c;也不能保证每…

解决 PyTorch 中的 AttributeError: ‘NoneType‘ object has no attribute ‘reshape‘ 错误

这里写目录标题 一、错误分析二、错误原因三、解决方案1. 检查损失函数2. 检查前向传播3. 检查 backward 函数4. 检查梯度传递 四、前向传播与反向传播1. 前向传播2. 反向传播3. 自定义 backward 函数示例反向传播过程&#xff1a;常见的错误&#xff1a;1&#xff1a;损失函数…

【AI系统】推理参数

推理参数 本文将介绍 AI 模型网络参数方面的一些基本概念&#xff0c;以及硬件相关的性能指标&#xff0c;为后面让大家更了解模型轻量化做初步准备。值得让人思考的是&#xff0c;随着深度学习的发展&#xff0c;神经网络被广泛应用于各种领域&#xff0c;模型性能的提高同时…

devops-Dockerfile+Jenkinsfile方式部署Java前后端应用

文章目录 概述部署前端Vue应用一、环境准备1、Dockerfile2、.dockerignore3、nginx.conf4、Jenkinsfile 二、Jenkins部署1、新建任务2、流水线3、Build Now 构建 & 访问 Springboot后端应用1. 准备工作2. 创建项目结构3. 编写 Dockerfile后端 Dockerfile (backend/Dockerfi…

【时时三省】(C语言基础)结构体的变量定义和初始化

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 有了结构体类型&#xff0c;那如果定义变量&#xff0c;其实很简单。 示例&#xff1a; 这个就是结构体变量的基础创建 初始化 比如里面只剩一个s3 s3里面有两个成员 第一个给c的值 第二个给…

社群分享在商业引流与职业转型中的作用:开源 AI 智能名片 2+1 链动模式小程序的应用契机

摘要&#xff1a;本文聚焦于社群分享在商业领域的重要性&#xff0c;阐述其作为干货诱饵在引流方面的关键意义。详细探讨了提供有价值干货的多种方式&#xff0c;包括文字分享、问题解答以及直播分享等&#xff0c;并分析了直播分享所需的条件。同时&#xff0c;以自身经历为例…

Python毕业设计选题:基于协同过滤的动漫推荐系统设计与实现_django+hive+spider

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 管理员登录 管理员功能界面 用户管理 动漫数据 看板展示 论坛交流 系统管理 用户功能…

Python批量生成个性化Word录用通知书

你是一名人力资源部门的员工&#xff0c;你需要根据一份Excel表格中的员工信息&#xff0c;为每位员工生成一份录用通知书。 Excel表格中包含了员工的姓名、性别、职位、入职日期等信息&#xff0c;你需要将这些信息填充到Word模板中&#xff0c;并生成独立的录用通知书文件。…

第1章 敏捷的基本概念

1.区分:敏捷、精益和看板方法 敏捷既可以说成是一种思维&#xff0c;也可以说是一种方法&#xff0c;它旨在项目推进的过程中&#xff0c;帮助团队提高效率&#xff0c;但除了敏捷&#xff0c;精益思想和看板方法也能够提高效率。   敏捷方法和看板方法都是面向组织级的&…

OpenHarmony中HDC相关操作源码

目录 一.背景 二.文件路径 三.相关指令位置 一.背景 本次主要记录OpenHarmony中的HDC相关操作的源码位置,为后续有hdc相关修改可以进行快速的查询 二.文件路径 首先找到hdc相关的代码逻辑模块位置,路径:xxx\developtools\hdc 如果想干掉hdc的所有功能,就是如下的patch d…

校企合作新模式:校招管理系统促进企业人才供需精准对接

近年来&#xff0c;随着高校毕业生就业形势的日益严峻&#xff0c;校企合作作为一种有效的人才培养模式&#xff0c;越来越受到社会各界的广泛关注。然而&#xff0c;传统的校企合作模式往往存在信息传递不畅、供需不匹配等问题&#xff0c;导致企业难以招到合适的人才&#xf…

【清华】世界模型综述:理解世界还是预测未来?

论文:https://arxiv.org/pdf/2411.14499 1. 引言 1.1 研究背景与意义 世界模型&#xff08;World Models&#xff09;的概念随着人工智能领域&#xff0c;尤其是多模态大型语言模型和视频生成模型的快速发展而受到广泛关注。这些模型被视为实现人工通用智能&#xff08;AGI…

排序2(万字详细版)

一 快速排序 快速排序是Hoare于1962年提出的⼀种⼆叉树结构的交换排序⽅法&#xff0c;其基本思想为&#xff1a;任取待排序元素 序列中的某元素作为基准值&#xff0c;按照该排序码将待排序集合分割成两⼦序列&#xff0c;左⼦序列中所有元素均⼩ 于基准值&#xff0c;右⼦序列…