码出高效:Java开发手册-第2章(13)
2.7.2 包装类型 前8种基本数据类型都有相应的包装类,因为Java 的设计理念是一切皆是对象,在很多情况下,需要以对象的形式操作,比如hashCode() 获取哈希值,或者getClass() 获取类等。包装类的存在解决了基本数据类型无法做到的事情:泛型类型参数、序列化、类型转换、高频区间数据缓存。尤其是最后一项,我们都知道Integer会缓存-12....
码出高效:Java开发手册-第2章(12)
2.7 数据类型2.7.1 基本数据类型 虽然Java 是面向对象编程语言,一切皆是对象,但是为了兼容人类根深蒂固的数据处理习惯,加快常规数据的处理速度,提供了9 种基本数据类型,它们都不具备对象的特性,没有属性和行为。基本数据类型是指不可再分的原子数据类型,内存中直接存储此类型的值,通过内存地址即可直接访问到数据,并且此内存区域只能存放这种类型的值。J....
码出高效:Java开发手册-第2章(11)
2.6 泛型 泛型的本质是类型参数化,解决不确定具体对象类型的问题。在面向对象编程语言中,允许程序员在强类型校验下定义某些可变部分,以达到代码复用的目的。泛型(generic)、天才(genius)、基因(gene)三个英文单词的词根都是gen,最神奇的是,它们无论是拼写还是发音都十分相像,在沟通中往往比较含糊。可以这样理解,泛型就是这些拥有天才基因的大....
码出高效:Java开发手册-第2章(10)
2.5 重载 在同一个类中,如果多个方法有相同的方法名称、不同的参数类型、参数个数、参数顺序,即称为重载,比如一个类中有多个构造方法。String 类中的valueOf 是比较著名的重载案例,它有9 个方法,可以将输入的基本数据类型、数组、Object 等转化成为字符串。在编译器的眼里,方法名称+ 参数列表,组成一个唯一键,称为方法签名,JVM 通过这个....
码出高效:Java开发手册-第2章(9)
2.4.7 覆写 多态中的override,本书翻译成覆写。如果翻译成重写,那么与重构意思过于接近;如果翻译成覆盖,那么少了“写”这个核心动词。如果父类定义的方法达不到子类的期望,那么子类可以重新实现方法覆盖父类的实现。因为有些子类是延迟加载的,甚至是网络加载的,所以最终的实现需要在运行期判断,这就是所谓的动态绑定。动态绑定是多态性得以实现的重要因素,元....
码出高效:Java开发手册-第2章(8)
2.4.5 getter 与setter 在实例方法中有一类特殊的方法,即getter 与setter 方法,它们一般不包含任何业务逻辑,仅仅是为类成员属性提供读取和修改的方法,这样设计有两点好处:(1)满足面向对象语言封装的特性。尽可能将类中的属性定义为private,针对属性值的访问与修改需要使用相应的getter 与setter 方法,而不是直接对....
码出高效:Java开发手册-第2章(7)
2.4.3 构造方法 构造方法(Constructor)是方法名与类名相同的特殊方法,在新建对象时调用,可以通过不同的构造方法实现不同方式的对象初始化,它有如下特征:(1)构造方法名称必须与类名相同。 (2)构造方法是没有返回类型的,即使是void 也不能有。它返回对象的地址,并赋值给引用变量。(3)构造方法不能....
码出高效:Java开发手册-第2章(6)
2.4 方法2.4.1 方法签名 方法签名包括方法名称和参数列表,是JVM标识方法的唯一索引,不包括返回值,更加不包括访问权限控制符、异常类型等。假如返回值可以是方法签名的一部分,仅从代码可读性角度来考虑,如下示例:long f() { return 1L;}double f() { ....
码出高效:Java开发手册-第2章(5)
2.3.5 this 与 super 对象实例化时,至少有一条从本类出发抵达Object 的通路,而打通这条路的两个主要工兵就是this 和super,逢山开路,遇水搭桥。但是this 和super 往往是默默无闻的,在很多情况下可以省略,比如:本类方法调用本类属性。本类方法调用另一个本类方法。子类构造方法隐含调用 super()。 &...
码出高效:Java开发手册-第2章(4)
2.3.3 内部类 在一个.java 源文件中,只能定义一个类名与文件名完全一致的公开类,使用public class 关键字来修饰。但在面向对象语言中,任何一个类都可以在内部定义另外一个类,前者为外部类,后者为内部类。内部类本身就是类的一个属性,与其他属性定义方式一致。比如,属性字段private static String str,由访问控制符、是否....
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
Java开发者
Java开发者成长课堂,课程资料学习,实战案例解析,Java工程师必备词汇等你来~
+关注