Think in java读书笔记

CTF之think_java反序列化完整案例 【代码】CTF之think_java反序列化完整案例。 阅读详情
第七章:多态性


1、“封装”通过将数据的特征与行为结合在一起,创建了一种新的数据类型。“隐藏实现”通过将细节设置成private,完成了接口与实现的分离。而多态性是站在“类”的角度来
    处理这种逻辑上的分离的。
   (chap7,P2)


2、“上传”使得类的动态性得以实现,但需要注意的是,只有基类是public的情况下,扩展类的复写才可以实现,比如下面的例子:
   public class Test {
 private void f() {
  System.out.println("private f()");
 }


 public static void main(String[] args) {
  Test po = new Derived();
  po.f();
 }
   }


   class Derived extends Test {
 public void f() {
  System.out.println("public f()");
 }
   }
   例子中,Test.f是private的,所以Derived.f其实不是Test.f的复写,Derived.f是一个全新的方法,它连重载都算不上,因为Derived根本看不到基类的f()。
   所以,输出的应该是private f(),而不是public f()。
   (chap7,P12)


3、如果类包含一个或多个抽象方法,那么这个类必须定义为abstract,但如果类没有abstract方法,也可以将类定义为abstract。
   (chap7,P13)


4、构造函数的调用顺序:

①调用基类的构造函数。这是一个递归过程,因此会先创建继承体系的根,然后是下一级派生类,依此类推,直到最后一个继承类的构造函数
   ②成员对象按照其声明的顺序进行初始化
   ③执行继承类的构造函数的正文。
   其实,还不如这样表述表决方便:在一个类的初始化过程中,先按成员对象的声明顺序初始化这些成员变量,然后执行其构造函数;如果有基类,则先初始化基类。
   (chap7,P17)


5、如果要内存清理,则可以从基类开始写一个函数,函数名可以自己定,但调用的时候,必须从顶层开始执行,这刚好与构造函数的调用顺序相反。
   (chap7,P18)


6、开始做Java的时候,不要想着把整个程序做成一个类系,比较好的办法是合成。
   (chap7,P23)

Think Java.zip java编程思想pdf版本 这也是我自己一直看的一个版本很清晰 可以电脑 手机看 也可以在Kindle 看 立即下载

相关推荐

《thinkjava》

《Think Java》作者:Allen B. Downey and Chris Mayeld。 Java学习资料,适合入门。是英文版的。

【网鼎杯 2020 朱雀组】Think Java

【网鼎杯 2020 朱雀组】Think Java 首先下载题目附件,是一些.class文件,反编译查看。 注意到引入的其中一个包: import io.swagger.annotations.ApiOperation; Swagger Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。 Swagger UI 提供了

更多知识欢迎访问我的博客园:https://www.cnblogs.com/2ha0yuk7on/ 5051

Think In Java 4(完美高清中文版).pdf

Think In Java 4,这本书的经典毋庸置疑,java工程师必读。

《Think Java》第二版代码支持项目介绍

《Think Java》第二版代码支持项目介绍 1. 项目基础介绍及编程语言 《Think Java》第二版代码支持项目是一个开源项目,旨在为Allen Downey和Chris Mayfield所著的《Think Java》第二版书籍提供代码示例和练习的起始代码。该项目主要使用Java编程语言开发,包含了书中所有示例代码和一个章节对应的练习起始代码,非常适合Java初学者和希望深入理解Java编...

gitblog_01119的博客 369

【C语言基础】野指针与空指针

全网最接地气的C语言野指针介绍,此处对于野指针与空指针知识点做一些简要的介绍,作者实属初学,写博客也是作者学习的一个过程,难免文章中有内容理解不到位或者有不当之处,还请朋友们不吝指正,希望大家多多给予支持,赠人玫瑰,手有余香! 文章目录一:野指针1.1 :野指针的成因2.1 :规避野指针二:空指针 一:野指针 概念:野指针就是指向的内存地址是未知的(随机的,不正确的,没有明确限制的)。 说明:指针变量也是变量,是变量就可以任意赋值。但是,任意数值赋值给指针变量没有意义,因为这样的指针就成了野指针,此指针指向

qq_43727529的博客 2万+

CentOS Stream 9中安装MySQL的详细步骤

本文详细介绍了在CentOS Stream 9系统中如何进行MySQL的在线安装、离线安装以及忘记密码的恢复操作。通过阅读本文,您将能够了解并掌握在CentOS Stream 9上安装MySQL的步骤,以及在遇到忘记密码的情况下的解决方案。

小白典的博客 7258

CTFHUB-think_java(2020-网鼎杯-朱雀组-Web-think_java)

将编码后的内容填充到命令上,再通过ysoserial获得bin文件,拿到文件之后,我们还需要对其进行base64加密,这里使用的一个Python脚本。但是这是网鼎杯原题的payload,那个题目中flag名称就是flag,是不变的所以可以这么用,通过-d @来提取flag文件内容然后发到自己服务器。获得payload之后,先在咱们的服务器上监听端口之后,在另一个接口处输入payload,来进行反弹shell,注意开头的Bearer保留。进入之后,将我们的得到的信息输入登录实例,来进行调用。

qq_51953382的博客 773

Enterprise Architect 中文经典教程

本文使用到的EA工程文件下载 一、Enterprise Architect简介 Enterprise Architect是一个对于软件系统开发有着极好支持的CASE软件(Computer Aided Software Engineering)。EA不同于普通的UML画图工具(如VISIO),它将支撑系统开发的全过程。在需求分析阶段,系统分析与设计阶段,系统开发及部署等方面有着强大的支持,...

2万+

探索与实践:《Think Java》代码库

探索与实践:《Think Java》代码库 1. 项目介绍 欢迎来到ThinkJavaCode,这是一个专门为《Think Java》一书提供支持的开源代码仓库。由Allen Downey和Chris Mayfield编写的这本书以其深入浅出的方式引导读者掌握Java编程语言。这个仓库不仅包含了书中所有的示例代码,还为部分练习提供了启动代码,是你学习Java的理想伙伴。 2. 项目技术分析 利用G...

gitblog_00043的博客 344

Allegro 给元器件PCB封装库添加3D模型详细步骤

从上面视图可以看到模型跟PCB 库的方向是对了,但是位置偏下,且在PCB封装库后面,我们下面需要做的就是把模型往上移、往前移。首先将元器件3D模型文件放在封装库的目录下(也可以单独新建一个模型库文件夹),注意3D文件必须是Step格式。Transparent: 选择透视的对象,可以是模型、也可以是PCB封装,或者两种都透视。在左边搜索要添加的3D模型的文件(注意是在* 星号前面输入文件名),按回车即可找到。同样的,接下来需要往Y 负方向移,即左移,一边调整一边观察视图。

sinat_15677011的博客 3685

什么是信噪比?信噪比越大好还是越小好?

在进行声音增强的时候,往往需要考虑声音信号和噪声的信噪比,那么信噪比是什么呢?越大越好还是越小越好,此处引入百度百科的解读: 信噪比,英文名称叫做SNR或S/N(SIGNAL-NOISE RATIO),又称为讯噪比。是指一个电子设备或者电子系统中信号与噪声的比例。这里面的信号指的是来自设备外部需要通过这台设备进行处理的电子信号,噪声是指经过该设备后产生的原信号中并不存在的无规则的额外信号(或信息),并且该种信号并不随原信号的变化而变化。 同样是“原信号不存在”还有一种东西叫“失真”,失真和噪声实际上有一

码匀的博客 7万+

Think in Java 读书笔记(一)(浓缩出精华_(:з)∠)_)

最近需要整理一堆资料,在即将回到学校的日子里略显迷茫,先从自己读书笔记开始整理把~下面是Think in java 的读书笔记,希望這篇文章能够作为一个好的开端。 第一章OOP 1、OOP 2、每个对象都提供服务(当正在开发或理解一个程序设计时,最好的方法就是将对象想象为服务提供者) 3、程序猿按照角色可分别为类创建者和客户端程序猿。 4、代码复用是面向对象程序设计语言所提供的最了不起的

泡泡茶壶的博客 922

【OCPP】ocpp1.6协议3.3章节:功能配置文件及接口

Smart Charging Profile中定义了4个接口请求,即GetCompositeSchedule、ClearChargingProfile、SetChargingProfile和ClearCache等。Smart Charging: 包含智能充电相关的功能,如计划充电,报告充电计划,并改变充电速度。Core: 包含电动汽车充电相关的基础功能,如启动和停止充电,更改充电配置,报告充电状态等。Reservation: 包含预约服务相关的功能,如创建,取消和更改预约。

qq_53871375的博客 2172

Think in Java 异常类(第12章) 读书笔记

概念: 首先看一下Java中的异常体系: Error:一般是指与虚拟机相关的问题,如 OOM,ThreadDeath。 RuntimeExprion:NullPointerException,ClassCastException,IllegalArgumentException,ArrayStoreException,IndexOutOfBoundsException,Num...

ltx0720的博客 353

YOLOv11改进,YOLOv11结合DynamicConv(动态卷积),CVPR2024,二次创新C3k2结构

DynamicConv(动态卷积)是一个用于提高卷积神经网络(CNN)性能的技术,核心思想是动态地生成卷积核(filter),而不是使用固定的卷积核。通过引入更多的计算灵活性和适应性来增强卷积操作的表达能力,进而提升模型的性能。专家选择:DynamicConv 通过引入多个“专家”(experts),每个专家学习特定的卷积模式。输入图像的不同部分会选择不同的专家进行卷积。动态卷积核生成:根据输入的不同特征,专家网络动态地生成卷积核,而不是使用固定的卷积核。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2266

ElectrolyteGPT:首个电池电解液逆向设计的生成式 AI 系统 —— 算法原理与复现解析

数据驱动的重要性:1100 万→100 万的精心筛选,比单纯增大模型更有效领域适配:fLine 表示法、正则分词、化学感知的数据增强(SMILES randomization)都是关键小模型的力量:6M 参数在特定化学空间的表现,远超通用大模型在相同任务上的零样本能力条件生成的极限:10 维条件导致模型崩溃,提示我们需要更好的条件编码策略(如 diffusion guidance、RLHF-style 偏好优化)未来方向配方实验验证。

ASKCOS博客 124

think in java 读书笔记

think in java 第四版 普通内部类,不能有staic数据和字段 猜想:外部类会根据字段和方法决定编译或运行时期内存分配,内部类作为其中一部分,一旦被决定,无法修改,所以内部类若不是静态,里边不能有static修饰的字段和方法 Foreach:collection能用foreach是因为Iterable接口(1.5引进)的iterator()方法,任何一个类实现了Iterable,都可...

PangQiuu的博客 383

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Think In Java 读书笔记

一直想写一个关于Java的读书系列帮助自己梳理知识总是无从开始,最近把Think In Java 又重新看了一遍决定写个读书笔记关于Java的值传递与引用传递一直以来关于Java是值传递还是引用传递都是争论不断,一种观点认为Java中只有值传递,另一种观点认为Java有值传递和引用传递两种,其实只是说法不同。 说只有值传递是将参数为应用的情况时传递的应用当成一种特殊值,而说值传递和引用传递都有的观

ktzhep的博客 238

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

读书笔记-think in java

#mermaid-svg-3LPPrGqTJ1SY8zNw .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-3LPPrGqTJ1SY8zNw .label text{fill:#333}#mermaid-svg-3LPPrGqTJ1SY8zNw .node rect,#mermaid-svg-3LPPrGqTJ1

Procedure_monkey的博客 300

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Think in Java 读书笔记(1)

Think in java 那个是2008年买的,断断续续看了一下。没有系统的全部看完,以前看的很多都忘记了,打算利用最经一段时间来全面系统的看一下。并将自己理解的一些东西记录到博客,方便一下初学中吧。

yuwenruli的专栏 716

读书笔记《think in Java》①

think in Java 第一章 1.1抽象 所有东西都是对象。对象里面保存着数据,对象可以对自己进行操作。 程序包含许多对象。通过消息传递调用对象。 每个对象都有自己的存储空间,可以封装其他对象生成新对象。 每个对象都有一直类型,都是类的实例,能够接受不同类型的消息。 同类对象能接收相同的消息——对象的【可替代性】。 1.2对象的接口 “类型”决定了接口,而“类”是那个接口的一种特殊实现方式。 1.3实现方案的隐藏 “public”(公共)意味着后续的定义任何人均可使用。 “private”(私有

SherlockerSun的博客 339

think in java笔记_Thinking in java读书笔记 PDF 下载

主要内容:第一章对象导论1. 因为类描述了具有相同特征(数据元素、静态)和行为(功能、动态)的对象集合。public表示紧随其后的元素对任何人都是可用的,而private这个关键字表示除类型创建者和类型的内部方法之外的任何人都不能访问的元素。Private就像你与客户端程序之前的一堵砖墙,如果有人试图访问private成员,就会在编译时得到错误信息。篇protected关键字与private作用相...

weixin_39765280的博客 259
上一篇: Think in java读书笔记
下一篇: Think in java读书笔记
Android_Java_student
博客等级 码龄11年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值