摘要:
组合模式是将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 【示例】对象的组合 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 阅读全文
摘要:
模板方法模式很常用,其目的是在一个方法中定义一个算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤。在标准的模板方法模式实现中,主要是使用继承的方式,来让父类在运行期间可以调用到子类的方法。 详见抽象类部分示例。 其实在Java开发中,还有另外一 阅读全文
摘要:
开闭原则(Open-Closed Principle)就是让设计的系统对扩展开放,对修改封闭。 · 对扩展开放: 就是指,应对需求变化要灵活。 要增加新功能时,不需要修改已有的代码,增加新代码即可。 · 对修改关闭: 就是指,核心部分经过精心设计后,不再因为需求变化而改变。 在实际开发中,我们无法完 阅读全文
摘要:
1. equals方法用来检测两个字符串内容是否相等。如果字符串s和t内容相等,则s.equals(t)返回true,否则返回false。 2. 要测试两个字符串除了大小写区别外是否是相等的,需要使用equalsIgnoreCase方法。 3. 判断字符串是否相等不要使用"=="。 【示例】忽略大小 阅读全文
摘要:
String类是我们最常使用的类。字符串类的方法我们必须非常熟悉!我们列出常用的方法,请大家熟悉。 表5-2 String类的常用方法列表 【示例】String类常用方法一 1 2 3 4 5 6 7 8 9 10 11 12 13 14 public class StringTest1 { pub 阅读全文
摘要:
· 如何下载API文档 1. 下载地址,点击进入: http://www.oracle.com/technetwork/java/javase/documentation/jdk8-doc-downloads-2133158.html 图5-27 API下载界面图 2. 下载成功后,解压下载的压缩文 阅读全文
摘要:
在Java的内存分析中,我们会经常听到关于“常量池”的描述,实际上常量池也分了以下三种: 1. 全局字符串常量池(String Pool) 全局字符串常量池中存放的内容是在类加载完成后存到String Pool中的,在每个VM中只有一份,存放的是字符串常量的引用值(在堆中生成字符串对象实例)。 2. 阅读全文
摘要:
1. String类又称作不可变字符序列。 2. String位于java.lang包中,Java程序默认导入java.lang包下的所有类。 3. Java字符串就是Unicode字符序列,例如字符串“Java”就是4个Unicode字符’J’、’a’、’v’、’a’组成的。 4. Java没有内 阅读全文
摘要:
在Java中内部类主要分为成员内部类(非静态内部类、静态内部类)、匿名内部类、局部内部类。 .成员内部类(可以使用private、default、protected、public任意进行修饰。 类文件:外部类$内部类.class) a) 非静态内部类(外部类里使用非静态内部类和平时使用其他类没什么不 阅读全文
摘要:
一般情况,我们把类定义成独立的单元。有些情况下,我们把一个类放在另一个类的内部定义,称为内部类(innerclasses)。 内部类可以使用public、default、protected 、private以及static修饰。而外部顶级类(我们以前接触的类)只能使用public和default修饰 阅读全文
摘要:
面向接口编程是面向对象编程的一部分。 为什么需要面向接口编程? 软件设计中最难处理的就是需求的复杂变化,需求的变化更多的体现在具体实现上。我们的编程如果围绕具体实现来展开就会陷入”复杂变化”的汪洋大海中,软件也就不能最终实现。我们必须围绕某种稳定的东西开展,才能以静制动,实现规范的高质量的项目。 接 阅读全文
摘要:
接口完全支持多继承。和类的继承类似,子接口扩展某个父接口,将会获得父接口中所定义的一切。 【示例】接口的多继承 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 interface A { void testa(); } interface B { void 阅读全文
摘要:
声明格式: 1 2 3 4 [访问修饰符] interface 接口名 [extends 父接口1,父接口2…] { 常量定义; 方法定义; } 定义接口的详细说明: 1. 访问修饰符:只能是public或默认。 2. 接口名:和类名采用相同命名机制。 3. extends:接口可以多继承。 4. 阅读全文
摘要:
· 为什么需要接口?接口和抽象类的区别? 接口就是比“抽象类”还“抽象”的“抽象类”,可以更加规范的对子类进行约束。全面地专业地实现了:规范和具体实现的分离。 抽象类还提供某些具体实现,接口不提供任何实现,接口中所有方法都是抽象方法。接口是完全面向规范的,规定了一批类具有的公共方法规范。 从接口的实 阅读全文
摘要:
·抽象方法 使用abstract修饰的方法,没有方法体,只有声明。定义的是一种“规范”,就是告诉子类必须要给抽象方法提供具体的实现。 ·抽象类 包含抽象方法的类就是抽象类。通过abstract方法定义规范,然后要求子类必须定义具体实现。通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用 阅读全文
摘要:
final关键字的作用: 1. 修饰变量: 被他修饰的变量不可改变。一旦赋了初值,就不能被重新赋值。 1 final int MAX_SPEED = 120; 2. 修饰方法:该方法不可被子类重写。但是可以被重载! 1 final void study(){} 3. 修饰类: 修饰的类不能被继承。比 阅读全文
摘要:
父类引用指向子类对象,我们称这个过程为向上转型,属于自动类型转换。 向上转型后的父类引用变量只能调用它编译类型的方法,不能调用它运行时类型的方法。这时,我们就需要进行类型的强制转换,我们称之为向下转型! 【示例5-13】对象的转型 1 2 3 4 5 6 7 8 9 10 11 public cla 阅读全文
摘要:
多态指的是同一个方法调用,由于对象不同可能会有不同的行为。现实生活中,同一个方法,具体实现会完全不同。 比如:同样是调用人的“休息”方法,张三是睡觉,李四是旅游,高淇老师是敲代码,数学教授是做数学题; 同样是调用人“吃饭”的方法,中国人用筷子吃饭,英国人用刀叉吃饭,印度人用手吃饭。 多态的要点: 1 阅读全文
摘要:
类的属性的处理: 1. 一般使用private访问权限。 2. 提供相应的get/set方法来访问相关属性,这些方法通常是public修饰的,以提供对属性的赋值与读取操作(注意:boolean变量的get方法是is开头!)。 3. 一些只用于本类的辅助性方法可以用private修饰,希望其他类调用的 阅读全文
摘要:
Java是使用“访问控制符”来控制哪些细节需要封装,哪些细节需要暴露的。 Java中4种“访问控制符”分别为private、default、protected、public,它们说明了面向对象的封装性,所以我们要利用它们尽可能的让访问权限降到最低,从而提高安全性。 下面详细讲述它们的访问权限问题。其 阅读全文