原文:https://www.cnblogs.com/fanjie/p/6916784.html Java程序对类的使用方式可分为两种– 主动使用– 被动使用 被动使用以后再讲,这里说说什么是主动使用,java对类的主动使用有六种情况 1.创建类的实例 2.访问某个类或接口的静态变量,或者对该静态变量赋值 3.调用类的静态方法 4.反射(如Class.forName("com.shengsiyuan.Test")) 5.初始化一个类的子类(先初始化所有的父类,最后初始化本身,接口除外,…
类与接口是Java语言的核心,设计出更加有用.健壮和灵活的类与接口很重要. 13.使类和成员的可访问性最小化 设计良好的模块会隐藏起所有的实现细节,仅使用API与其他模块进行通信.这个概念称为信息隐藏或封装,是软件设计的基本原则之一.信息隐藏可以是实现系统各模块的解耦,以使这些模块可以独立的开发.测试.优化.信息隐藏还提高了软件的可重用性,降低了构建大型系统的风险. java中实体的可访问性由实体声明的位置以及访问修饰符(private.不写.protected.public)共同决定.尽可能的…
一.java操作l流有关的类和接口 1.File 文件类 2.RandomAccessFile 随机存储文件类 3.InputStream 字节输入流 4.OutputStream 字节输出流 5.Reader 字符输入流 6.Writer 字符输出流 二.流的概念和作用 流是一组有顺序的.有起点和终点的字节集合,是对数据传输的总称活抽象.即数据在两设备之间传输称为流 流的本质是数据传输,根据数据传输特性,将流抽象为各种类,方便只管的进行数据操作 三.IO流的分类 1.根据处理数据类型的不同 分…
代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步. 6.1 概述 记得在第一节计算机程序课上我的老师就讲过:“计算机只认识0和1,所以我们写的程序需要经编译器翻译成由0和1构成的二进制格式才能由计算机执行”.10多年时间过去了,今天的计算机仍然只能识别0和1,但由于最近10年内虚拟机以及大量建立在虚拟机之上的程序语言如雨后春笋般出现并蓬勃发展,将我们编写的程序编译成二进制本地机器码(Native Code)已不再是唯一的选择,越来越多的程序语言选择了与操作…
第六章 类文件结构   6.2 无关性的基石 各种不同平台的虚拟机与所有的平台都统一使用的程序存储格式--字节码(ByteCode)是构成平台无关性的基石.java虚拟机不和包括java在内的任何语言绑定,它只与“Class”文件这种特定的二进制文件格式所关联,Class文件包含了java虚拟机指令集和符号表以及若干其他辅助信息.虚拟机并不关心Class的来源是何种语言.   6.3 Class类文件的结构 Class文件是一组以8字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在C…
正文 一.无关性的基石 1.两种无关性 平台无关性: Java 程序的运行不受计算机平台的限制,"一次编写,到处运行". 语言无关性: Java 虚拟机只与 Class 文件关联,并不关心 Class 文件的来源是何种语言. 2.无关性的实现基础 各种不同平台的虚拟机 所有平台都统一使用的字节码存储格式 二.Class 类文件的结构 Class 类文件是一组以 8 字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在 Class 文件中,中间没有添加任何分隔符.当遇到需要占用…
有很多人搞不懂对象和类的定义.比如说java中String到底是对象还是类呢? 有人说String 既可以说是类,也可以说是对象. 其实他这么说也没问题, 类和对象其实都是一个抽象的概念. 我们可以把一类东西归集在一起,起一个名字,什么类,专门做什么事的,但是我们也可以说它是一个对象-- 所以说String 既可以说是类,也可以说是对象. 但是如果你要深究,比如小编就饿深究了一下,我发现在java.lang中,这是个基础类,你可以好好看lang包中的源码. public final class …
目录 第13条: 使类和成员的可访问性最小化 第14条:在公有类中使用访问方法而非公有域 第15条:使可变性最小化 第16条:复合优先于继承 第17条:要么为继承而设计,并提供文档说明,要么就禁止继承 第18条:接口优先于抽象类 第19条:接口只用于定义类型 第20条:类层次优于标签类 第21条:用函数对象表示策略 第22条:优先考虑静态成员类   第4章 类和接口 第13条: 使类和成员的可访问性最小化 尽可能使每个类或者成员不被外界访问.提供尽可能小的访问级别. final维持字段不可变性,…
第 15 条: 使类和成员的可访问性最小化 软件设计基本原则:信息隐藏和封装. 信息隐藏可以有效解耦,使组件可以独立地开发.测试.优化.使用和修改.   经验法则:尽可能地使每个类或者成员不被外界访问. 对于成员(属性.方法.嵌套类和嵌套接口),有四种可能的访问级别,在这里,按照可访问性从小到大列出: private —— 该成员只能在声明它的顶层类内访问. default (package-private) —— 成员可以从被声明的包中的任何类中访问.从技术上讲,如果没有指定访问修饰符(接口成…
第二十三条 请不要再新代码中使用原生态类型 1 使用原生态类型,就失去了泛型在安全性和表述性方面的所有优势,所以新代码中不要使用原生态类型 2 List<String>可以传递给List作为的参数,但是不能传递给List<Object>,因为泛型有子类型化的规则,List<String>是原生态类型List的一个子类型,而不是参数化类型List<Object>的子类型 3. 如果不确定类型,可以使用通配符类型 Set<?> 第二十五条 列表优于数…