《疯狂Java讲义》读书笔记(一)

2023-11-19

面向对象具有三个基本特征:封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)。

继承是面向对象实现软件复用的重要手段,当子类继承父类,子类作为一个特殊的父类,将获得父类所有的属性和方法;

封装是指将对象的实现细节隐藏起来,然后通过一些公用的方法来暴露该对象的功能;

多态是指子类对象可以直接赋给父类的引用,但运行时依然表现子类的行为特征,这意味着同一个类型的对象在运行时可能表现出不同的行为特征。


在java中,除了8个基本数据类型之外,一切都是对象。


空引用(null)只能被转换成引用类型,不能转换成基本类型,因此不要把一个null赋值给基本数据类型的变量。


因为java浮点数使用二进制数据的科学计数法来表示浮点数,因此可能不能精确的标识一个浮点数。如果需要精确的标识一个浮点数,可以考虑使用BigDecimal类。


所有数据在计算机底层都是都是以二进制形式存在的,原码就是直接将一个十进制数转换成二进制数。但计算机是以补码的形式保存所有的整数。补码的计算规则是:整数的原码和补码完全相同,负数的补码是其反码加1;反码是原码按位取反所得,最高位(符号位)不变。


使用switch语句时,应当注意两个问题:

1.switch语句后的表达式(expression)只能int、char、byte、short类型,原因是后三种都可以自动类型转换为int;

2.如果省略了case后面的break所带来的陷阱。


数组也是一种数据类型,它本身是一种引用类型。


当一个方法执行时,每个方法都会建立自己的内存栈,在这个方法内定义的变量将会逐个放入这块栈内存中,随着方法执行的结束,这个方法的内存栈也将会被销毁;因此,所有在方法中定义的局部变量都是存储在栈内存中。



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《疯狂Java讲义》读书笔记(一) 的相关文章

  • 如何用Java写入OS系统日志?

    Mac OS 有一个名为 Console 的应用程序 其中包含记录的消息 错误和故障 我相信 Windows 中的等效项是事件查看器 我想 Linux 上也有一个 但我不知道它是什么 也不知道它在哪里 是否可以像这样从 Java 输出获取消
  • 如何在java中压缩/解压tar.gz文件

    谁能告诉我在java中压缩和解压缩tar gzip文件的正确方法我一直在搜索 但我能找到的最多的是zip或gzip 单独 我写了一个包装器公共压缩 http commons apache org compress called jarchi
  • 以点作为分隔符分割字符串

    我想知道我是否要在一个字符串上分割字符串 正确的方式 我的代码是 String fn filename split return fn 0 我只需要字符串的第一部分 这就是我返回第一项的原因 我问这个是因为我在 API 中注意到 意味着任何
  • 如何在数据库中对 (Java) 枚举进行建模(使用 SQL92)

    您好 我正在使用名为 性别 的列对实体进行建模 在应用程序代码中 性别应该是一个 Java 枚举类型 有 2 个值 男性和女性 知道作为数据类型的枚举不是通用 SQL 语言 92 的一部分 您将如何建模它 数据模型必须是可移植的 以便由多个
  • java中队列的实现

    在 Java 中实现队列是一个非常常见的面试问题 我在网上冲浪 看到了许多实现 他们做了一些奇特的事情 比如实现队列接口和编写自己的addLast and removeFirst 方法 我的问题是我不能使用LinkedList 类并使用其预
  • org.postgresql.util.PSQLException:协议错误。会话设置失败

    我知道这些类型的问题已经存在 但提供的解决方案对我不起作用 在我的应用程序中 没有版本不匹配的黑白驱动程序和 PostgreSQL 服务器 我还没有找到任何其他解决方案 我正在使用 PostgreSQL 服务器 9 4 和 postgres
  • 动画图像视图

    目前我正在开发一款游戏 这是我的游戏的详细信息 用户应选择正确的图像对象 我希望图像从左到右加速 当他们到达终点时 他们应该再次出现在活动中 这是我正在处理的屏幕截图 我有 5 个图像视图 它们应该会加速 您有此类动画的示例代码吗 非常感谢
  • 为什么一个线程会中断另一个线程[重复]

    这个问题在这里已经有答案了 在Java多线程应用程序中 我们处理InterruptedThreadException 如果另一个线程中断当前线程 则会抛出此异常 现在 当另一个线程知道它将导致异常时 它可能想要中断当前线程的原因是什么 很多
  • BigDecimal 的 JPA @Size 注释

    我该如何使用 SizeMySQL 的注释DECIMAL x y 列 我在用着BigDecimal 但是当我尝试包括 Size max它不起作用 这是我的代码 Size max 7 2 Column name weight private B
  • 如何屏蔽 Protobuf 中的某些字段

    我找不到一种方法来屏蔽 protobuf 结构中的某些字段 我确实阅读了有关 FieldMaskUtil 的内容并尝试了几个示例 但它似乎做了相反的操作 即复制 FieldMask 中提到的字段 这与我想要的不同 这是示例结构和相应的测试代
  • Kerberos 缓存票证

    我使用的是 Windows 7 64 位 我创建了一个简单的应用程序来对实现 PrivilegedAction 的类的 run 方法中的文件进行计数 以下是我的 jaas conf 文件 CountFiles com sun securit
  • 尝试在空对象引用上调用虚拟方法“java.lang.String org.jsoup.nodes.Element.ownText()”

    我正在使用下面的代码来获取版本名称 from 应用商店通过使用 jsoup 我正在获取详细信息 但它引发了一些异常 我的代码是 public class ForceUpdateAsync extends AsyncTask
  • 删除 ArrayList 对象问题

    我在处理作业时遇到从 ArrayList 中删除对象的问题 如果我使用 正常 for 循环 它的工作原理如下 public void returnBook String isbn for int i 0 i lt booksBorrowed
  • setKeyListener 将覆盖 setInputType 并更改键盘

    大家好 我在两个设备之间遇到问题 在实践中使用InputType和KeyListener我正在操纵一个EditText让它从数字键盘接收逗号和数字 有关更多背景信息 请检查我之前的question https stackoverflow c
  • 在方法内声明类 - Final 关键字 [重复]

    这个问题在这里已经有答案了 给定方法中的以下内部类 IsSomething public class InnerMethod private int x public class Something private int y public
  • java中wav文件转换为字节数组

    我的项目是 阿塞拜疆语音的语音识别 我必须编写一个程序来转换wav文件到字节数组 如何将音频文件转换为byte 基本上如第一个答案中的片段所描述 但不是BufferedInputStream use AudioSystem getAudio
  • Jenkins 管道和 java.nio.file.* 方法的问题

    我正在尝试使用 java nio file 中的方法在 Jenkins 管道中执行一些基本文件操作 无论代码存在于哪个节点块中 代码都在主节点上执行 在管道中 我已经验证了各个节点块都是正确的 它们唯一地标识了特定的节点 但是 pathEx
  • BoneCP 和 Derby - 如何正确关闭

    I have BoneCP CONNECTION POOL CONNECTION POOL getConfig setJdbcUrl jdbc derby database shutdown true Connection connecti
  • java数据结构模拟数据树

    我需要帮助定义使用什么方法 我有一个 SOAP 响应 给我一个 xml 文件 我需要在屏幕上显示 3 个相关列表 当您在第一个列表中选择一个项目时 相应的选择将出现在第二个列表中 依此类推 我只对从 xml 流中提取数据后如何有效地组织数据
  • java中的回调是什么[重复]

    这个问题在这里已经有答案了 可能的重复 什么是回调函数 https stackoverflow com questions 824234 what is a callback function 我已经阅读了回调的维基百科定义 但我仍然没有明

随机推荐

  • Ubuntu提示Temporary failure in name resolution

    解决方法1 重启网络服务 service network manager restart 解决方法2 定义域名解析服务器ip sudo vi etc resolv conf 在里面添加下面两行 nameserver 1 1 1 1 name
  • ubuntu禁止自动更新内核

    总结了三处需要改的地方 1 查看自己电脑的内核 dpkg get selections grep linux 得到如下信息 查看正在使用的内核 uname a 得到如下信息 禁止更新内核 sudo apt mark hold linux i
  • 【深度学习】模型评价指标

    一 分类任务 分类任务一般有二分类 多分类和多标签分类 多分类 表示分类任务中有多个类别 但是对于每个样本有且仅有一个标签 例如一张动物图片 它只可能是猫 狗 虎等中的一种标签 二分类特指分类任务中只有两个类别 多标签 一个样本可以有多个标
  • [思考进阶]02 如何进行认知升级?

    除了要提升自己的技术能力 思维的学习和成长也非常非常重要 特推出此 思考进阶 系列 进行刻意练习 从而提升自己的认知 最近在看东野的 无名之町 这本书写于2021年 日本正值疫情 书中也有大幅疫情相关的文字描述 疫情正影响着一切 后悔的一件
  • Spring ioc容器创建过程(1)BeanFactory初始化

    文章目录 一 ApplicationContext 二 常见的ApplicationContext 三 ioc容器的初始化 1 AbstractApplicationContext prepareRefresh 2 AbstractAppl
  • C# GC原理

    在 NET框架包含一个托管堆 所有的 NET语言在分配引用类型对象都要使用它 像值类型这样的轻量级别对象始终分配在栈中 但是所有的类实例和数组都被生成在一个内存池中 这个内存池就是托管堆 垃圾收集器的托管的基本算法很简单 1 将所有的托管内
  • 老毛桃 安装linux双系统,安装CentOS 7双系统(二)——安装过程step by step

    上一篇中我们确定了分区方案之后 就可以开始安装双系统啦 前期准备 重点 装系统之前一定要准备一个U盘启动盘 出问题时候可以马上进PE恢复 血的教训 我建议对磁盘进行分区 重建MBR等操作都在PE里面完成 制作U盘启动工具可以使用大白菜 大白
  • 【DBeaver】介绍DBeaver这一款强大的数据库连接工具

    近期在工作中需要使用到国产的达梦数据库 我们使用DBeaver作为数据库连接工具 DBeaver是一款很强大的数据库连接工具 其适用于所有的数据库 支持所有流行的关系数据库 MySQL PostgreSQL SQLite Oracle DB
  • UI设计师有钱途还是平面设计师或者是网页设计师呢?

    UI设计 平面设计和网页设计 哪个前景更好呢 其实ui和网页设计都属于平面设计里的一个分支 举个例子 设计一份饭店的点菜单 一样的图案 印刷出来是传统平面设计 放网站上是网页设计 放手机上显示是UI 其实都是一样的平面美术设计 那么有人要问
  • Vscode

    文章目录 点击左下角的用户或者设置的 Sign in to Sync Setting 使用GitHub或者Microsoft账户登录 就能开启同步功能
  • 【目标检测】34、FSAF: Feature Selective Anchor-Free Module for Single-Shot Object Detection

    文章目录 一 背景 二 方法 2 1 Ground truth and loss 2 2 Online Feature Selection 2 3 将 RetinaNet 和 FSAF 联合后如何训练和测试 三 效果 论文 Feature
  • 中文姓名、电话、邮箱的正则表达式

    1 中文姓名 如 张三 噶及 洛克业 a zA Z0 9 u4e00 u9fa5 1 10 2 电话验证 如 010 85369999 186199999 0 d 2 3 d 7 8 d 3 5 13 14 15 18 17 d 9 3 电
  • QT连接Mysql后的简单操作(增删改查)

    连接数据库 首先要连接自己在电脑上安装的MySql的数据库 这个是最难也是最重要的一步 万事起步难 连接上了之后的Sql语句就会就会非常简单了 连接数据库可以参考这篇博客 注意在连接时会有可能会有很多报错信息 但是只要按照这个操作来 一步一
  • nc命令使用

    一 nc介绍 netcat 简称 nc 安全界叫它瑞士军刀 官网地址 Ncat Netcat for the 21st Century nc 的基本功能如下 telnet 获取系统 banner 信息 传输文本信息 传输文件和目录 加密传输
  • 通俗易懂web3.0

    目录 前言 一 WEB1 0 二 WEB2 0 三 WEB3 0 区别 最后 前言 大家好 我是清风 互联网连接了人与人 在过去的30年中 互联网技术不断进化 演化 向纵深发展 政治 经济 社交 生活 工作已经几乎离不开互联网 我们经历了W
  • 云计算导论(第二版)李伯虎著全部课后题的答案

    目录 第一章 绪论 1 联系自己身边的生产生活实践 试列举2 3个你认为正在运用或者可以运用云计算的例子 2 你认为云计算对个人与社会带来了什么样的影响 3 分析云计算服务和云计算平台的区别和联系 4 云计算与 创新 协调 绿色 开放 共享
  • LangChain 是一个强大的框架,可以简化构建高级语言模型应用程序的过程。

    LangChain 是一个强大的框架 可以简化构建高级语言模型应用程序的过程 What is LangChain LangChain是一个强大的框架 旨在帮助开发人员使用语言模型构建端到端的应用程序 它提供了一套工具 组件和接口 可简化创建
  • 禁用触摸板

    sudo rmmod psmouse 这个是禁用的 sudo modprobe psmouse 这个是启用的
  • Failed to load response data:No data found for resource with given identifier

    一 遇到问题 最近项目中表单提交需求遇到了这个问题 Failed to load response data No data found for resource with given identifier 翻译 加载响应数据失败 找不到具
  • 《疯狂Java讲义》读书笔记(一)

    面向对象具有三个基本特征 封装 Encapsulation 继承 Inheritance 和多态 Polymorphism 继承是面向对象实现软件复用的重要手段 当子类继承父类 子类作为一个特殊的父类 将获得父类所有的属性和方法 封装是指将