Think in Java(一)

2023-11-17

  1. 把对象想象为“服务提供者”

  2. 通常被隐藏的部分是对象内部脆弱的部分

  3. 组合和聚合
    组合:使用现有的类合成新的
    聚合:当组合是动态发生的时候,被称为聚合
    组合经常被视为(has-a)关系,例如汽车拥有引擎。

  4. 在建立新类时,应该先考虑组合,因为它更加简单灵活。

  5. 单根继承结构的优点:
    1)所有对象都可以很容易地在堆上创建,而参数传递也得到了极大的简化。
    2) 单根继承结构使垃圾回收器的实现变得容易得多

  6. 通常把调用对象方法成为发送消息给对象。

    eg:int x = a.f(); 消息是f(),对象是a;

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

Think in Java(一) 的相关文章

  • Java接口以及static和final关键字

    Java接口以及static和final关键字 一 static 二 final 三 让final元素可以初始化 不用固定赋值 四 接口 五 抽象方法 六 接口能够创建对象吗 匿名内部类 七 另一实例 开锁 一 static static代
  • java字符串基础操作

    1 字符串的特点 java lang String使用了final修饰 不能被继承 字符串底层封装了字符数组及针对字符数组的操作算法 字符串一旦创建 对象内容永远无法改变 但字符串引用 可以重新赋值 Java字符串在内存中采用Unicode
  • Java学习笔记 --- 布尔类型

    一 布尔类型 1 布尔类型也叫boolean类型 boolean类型数据只允许取值true和false 无null public class Bool public static void main String args boolean
  • 3、Java的If语句与For循环

    一 语句 条件语句 根据不同的条件 执行不同的语句 if if else if else if if else if else if else switch 循环语句 重复执行某些动作 for while do while 1 1 if语句
  • 使用jemeter进行压力测试关注的指标

    一 压测设置 线程数 并发数量 能跑多少量 具体说是一次存在多少用户同时访问 Rame Up Period in seconds 表示JMeter每隔多少秒发动并发 理解成准备时长 设置虚拟用户数需要多长时间全部启动 如果线程数是20 准备
  • mysql如何一秒插入10万条数据

    当我们需要批量插入或者更新记录时 可以采用Java的批量更新机制 该机制允许多条语句甚至一次性提交给数据库处理 通常情况下比一句一提交处理更有效率 jdbc处理批量提交有三个方法 需要注意的是 这三种方法都要和PreparedStateme
  • 接口如何实现多态

    抽象类是用来继承的 不能被实例化 抽象类里可以有成员变量 接口中没有 1 抽象类里的抽象方法 只有在子类实现了才能使用 2 抽象类里的普通方法 可被子类调用 3 接口里的方法 都被默认修饰为public abstract类型 4 接口里的变
  • 【java基础】 方法,实参和形参,方法的重载,签名,递归

    目录 方法概念及使用 实参和形参的关系 重要 方法的重载 方法签名 简单了解 递归 简单介绍 方法概念及使用 方法就是一个代码片段 类似于 C 语言中的 函数 作用 是能够模块化的组织代码 当代码规模比较复杂的时候 做到代码被重复使用 一份
  • 【Java】Java中的String类

    文章目录 一 认识 String 类 二 String 类的常用方法 2 1 构造方法 2 2 String 类对象之间的比较 2 3 字符串查找 2 4 字符串的转换 2 5 字符串替换 2 6 字符串拆分 2 7 字符串截取 2 8 字
  • ubuntu 11配置hadoop

    最近没事 研究下ubuntu 配置hadoop ubuntu版本 64 bit 11 04 hadoop版本 hadoop1 2 1 一 在Ubuntu下创建hadoop用户组和用户 1 创建hadoop用户组 sudo addgroup
  • 重试机制的实现(4m,10m,10m,1h,2h,6h,15h)

    项目场景 由于我们现在所做的项目有有很多的外放接口供代理商调用 但是有些接口的响应并不是实时返回的 此时我们就需要使用回调接口的方式 将信息响应给代理商 在这期间可能会出网络不稳定等其他情况 导致回调接口调用失败 所以需要特定的回调重试机制
  • MVC模型图

    MVC图
  • Java学习13:面向对象-多态(Polymorphism)内存分析图解

    1 概述 多态是Java面向对象三大特征之一 多态 Polymorphism 顾名思义 即对象具有多种形态 具体而言 是编译时类型 运行时类型 编译时类型 由声明时的类型决定 一般是父类 运行时类型 由实际对应的对象类型决定 具体是哪个子类
  • AQS底层原理

    1 AQS能干嘛 是什么 能干嘛 加锁就会有阻塞 有阻塞就需要排队 实现排队必然需要有某种形式的队列来进行管理 是什么 废话 抽象的队列同步器 翻译一下 AQS是用来构建锁或者其它同步器组件的重量级基础框架及整个JUC体系的基石 通过内置的
  • Java 泛型 T,E,K,V,?

    泛型带来的好处 在没有泛型的情况的下 通过对类型 Object 的引用来实现参数的 任意化 任意化 带来的缺点是要做显式的强制类型转换 而这种转换是要求开发者对实际参数类型可以预知的情况下进行的 对于强制类型转换错误的情况 编译器可能不提示
  • JDK介绍

    JDK JRE和JVM之间的关系 JVM是运行环境 JRE是含运行环境和相关的类库 跟node环境是一个意思 JDK目录介绍 目录名称 说明 bin 该路径下存放了JDK的各种工具命令 javac和java就放在这个目录 conf 该路径下
  • 设计模式(2)

    2 2 结构型模式 结构型模式一共有七种 其中 适配器模式和装饰模式统称为包装模式 装饰模式和代理模式的类图基本相同 但目的不同 这些有相似目的或者有相似结构的模式需要对其概念辨析清楚 才能较好地掌握 下面将对结构型模式分别进行介绍 2 2
  • 将list集合的元素按照添加顺序的倒序进行排列取出

    将list集合的元素按照添加顺序的倒序进行排列取出 方法1 list add 0 object List
  • Java处理SSH-免密登录

    前提 需要测试主机之间能够免密 配置ssh请自行百度 jar包 旧版 com jcraft jsch 仅支持老版的密钥格式 旧版本 RSA
  • java连接oracle出现ORA-12505错误

    问题 sqlplus可以连接 但java连接报错 ORA 12505 ORA 12505 TNS listener does not currently know of SID given in connect descr 解析 原因 数据

随机推荐

  • RobotFramework入门(二)appUI自动化之app启动

    前言 本章主要讲述appUI自动化的一个小示例 ps 这里虽然是一个小示例 但如果你要通过robot去做appUI自动化 思路都是一样的 可以自行搜索关键字组合去使用 其实正常情况下 我们会直接使用代码去实现自动化 而不是在ride上实行哈
  • discuz主题列表页伪静态化设置方法(lnmp+wamp+lamp通用)

    大家都知道在discuz程序中 伪静态化后 门户文章跟帖子内容都可以设置成功并能正常的访问 但是在论坛帖子的列表页却还是动态的地址 http www 52hgn com forum php gid 40 比如这种 我们想把他变成这种静态地址
  • Java从入门到实战总结-4.4、JDBC

    Java从入门到实战总结 4 4 JDBC 文章目录 Java从入门到实战总结 4 4 JDBC 1 简介 2 JDBC体系结构 3 JDBC核心组件 4 CRUD语法介绍 回顾 5 使用步骤 6 JDBC连接步骤 6 1 JDBC执行SQ
  • ES6非空判断

    es6 Null传导运算符 const firstName message body user firstName default 运算符相当于一种短路机制 只要不满足条件 就不再往下执行 Null 判断运算符 属性的值为null unde
  • gitLens插件简单使用(默认上传github)

    1 安装 在vscode中的插件管理输入如下后下载 GitLens Git supercharged 2 配置 点击文件 首选项 设置 点击右上角设置小图标 3 github使用 首先仓库文件一定是要git init是git所管理的 1 在
  • Quartus II 安装

    本次介绍使用的 Quartus 版本为 10 1 目前 Quartus II 官网已经没有 13 1 以下版本的安装包 大家可以安装 13 1 以上版本的软件 功能都是大同小异 下载地址 FPGA Software Download Cen
  • 16进制(CRC16)(MODBUS RTU通讯)校验码在线计算器

    最近在项目上遇到 用485协议命令控制灯光继电器的开关需要计算16进制 CRC16 MODBUS RTU通讯 校验码来写控制命令 这种在网上有现成的计算器 我们直接使用即可 以下为我用的一个计算器的链接 个人感觉还是蛮好用的 同时他还涵盖了
  • react Native java JDK与Gradle版本不兼容 构建失败

    react Native 版本介绍 本篇适用react Native已经搭建了java jdk 1 8的版本开发环境 如果需要写0 67版本及以上的项目 现在的gradle版本比较高 比如gradle6 0 构建版本和打包的时候会出现不兼容
  • ThinkPhp5使用bootstrap样式分页

    1 查看分页的配置 在application config php文件中最后 分页配置 paginate gt type gt bootstrap var page gt page list rows gt 15 2 下载 https v3
  • 04-Qt软件加入Log文件输出与终端彩色打印(包含行号)

    一 目的与需求 在开发qt应用程序中 经常使用打印调试软件 qt自己的qDebug 就满足了需求 但是当需要把一部分log记录到文件的时候qt就没有提供了 这个时候可以使用qDebug 的qInstallMsgHandler来指定打印回掉函
  • 软件测试第一阶段:web前端技术基础-16- linux系统安装软件,运用shell脚本等

    一丶yum安装 用yum安装软件分三步 第一步 准备一个软件源 软件源其实就是一个目录 在这个目录中有很多的rpm包 第二步 创建yum的配置文件 文件需要指向到软件源 第三步 用yum进行安装 卸载软件 第一步 配置软件源 1 首选将系统
  • Java基础知识-多态的实现机制

    面向对象设计具备三种特性 封装 继承 多态 多态是面对对象程序设计中代码重用的一个重要机制 它表示当同一个操作作用在不同的对象的时候 会出现不同的语义 从而会产生不同的结果 比如 同样是 操作 3 4用来实现整数的相加 而 3 4 却实现了
  • js取小数点后两位四种方法

    1 通过substring截取 function getnum var num 22 123456 var s num toString var result s substring 0 s indexOf 3 var result2 s
  • 安装Redis数据库

    Redis是一种内存缓存数据库 它可以帮助我们高效地缓存我们的数据 以下是Redis安装步骤 1 在Linux系统安装 安装Redis 在终端中输入以下命令 sudo apt get update sudo apt get upgrade
  • centos下禁用网卡IPv4或者IPv6

    Centos下禁用网卡的ipv4 直接删除网卡的ipv4地址 ip addr del 10 2 21 40 24 dev ens160 启用ip addr add 10 2 21 40 24 dev ens160 禁用ipv6功能 root
  • 讯飞星火,正式开放!

    今日起 讯飞星火认知大模型面向全民开放 在各大主流应用商店搜索 讯飞星火 App 或登录讯飞星火官网均可直接注册使用 专属申请通道 长按内测二维码 点击 申请注册 通过专属二维码 注册免费 秒通过 即刻上手免费体验 无需审核等待 还可以获得
  • 英特尔第十代处理器为什么不支持win7_为什么7代CPU不支持WIN7操作系统?

    说来说去还不是利益驱使 wintel联盟暗地里让客户淘汰旧的硬件旧的系统呗 区区几个驱动对英特尔来讲还不是手到擒来的事 近来市场上英特尔不是又推出了一种新的低端芯片组主板 基于22纳米打造的H310C 原生支持WIN7系统安装 这款芯片组根
  • 嵌入式(exec函数族和守护进程)

    exec 函数族 背景 fork创建进程之后 子进程和父进程执行相同的代码 但是在实际开发当中 我们希望父子进程执行不同的代码 作用 执行指定的程序 include
  • POJ 3259 Wormholes(最短路——Bellman-ford)

    A Wormholes While exploring his many farms Farmer John has discovered a number of amazing wormholes A wormhole is very p
  • Think in Java(一)

    把对象想象为 服务提供者 通常被隐藏的部分是对象内部脆弱的部分 组合和聚合 组合 使用现有的类合成新的 聚合 当组合是动态发生的时候 被称为聚合 组合经常被视为 has a 关系 例如汽车拥有引擎 在建立新类时 应该先考虑组合 因为它更加简