摘要: 待续。。。 阅读全文
posted @ 2018-04-14 21:37 丶岑夫子 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 我们知道,程序总是根据运行时才知道的条件去创建新对象,所以创建对象的数量和类型都是不确定的。所以不可能依靠对象引用来持有每一个对象,因为对象个数是任意个,所以怎么持有这些对象必须解决的问题。 Java提供了多种保存对象的方式(其实保存的都是对象的引用,因为创建一个对象,其实就是给对象分配一个内存空间 阅读全文
posted @ 2018-04-13 21:10 丶岑夫子 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 内部类: 一个类的定义放在另一个类的定义内部,这就是内部类。 内部类的创建: 在创建内部类之前,我们须先了解:内部类自动拥有对其外围类(注意与外部类的区别)所有成员(包括private成员)的访问权,但是这种访问是在内部类定义处。之所以可以访问,是因为在创建一个内部类的对象时,此内部类对象将获取一个 阅读全文
posted @ 2018-04-12 19:38 丶岑夫子 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。其中内部类将在第十章讲述。 为什么需要抽象类: 抽象类是普通的类与接口之间的一种中庸之道。尽管在构建具有某些未实现方法的类时,第一想法肯定是接口,但是抽象类仍是用于此目的的一种重要而必须的工具。因此,不可能总是使用纯接口。 此外,如果一 阅读全文
posted @ 2018-04-08 20:22 丶岑夫子 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 封装: 封装就是把对象的行为和属性装在一个类里。 抽象: 抽象是将存在于事物之间共同拥有的元素提取的过程,抽象成类或者接口。抽象分为: 1)数据抽象:用于表示事物的属性,比如人的姓名、年龄等。抽象成属性或者成员变量。 2)过程抽象:用于表示事物的行为,比如人会吃饭等。抽象成方法。 多态: 在面向对象 阅读全文
posted @ 2018-04-07 21:26 丶岑夫子 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 复用代码,即使用已经开发并调试好的类。组合和继承是两种实现方法。 组合语法: 在新类中创建现有类的对象。该方法只是复用了现有代码的功能,而非它的形式。 组合的例子随处可见,这里不举例说明。但书中特意强调了toString方法。 每一个非基本类型的对象都有一个toString方法,因为每一个类都是继承 阅读全文
posted @ 2018-04-06 16:26 丶岑夫子 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 为什么要设置访问权限: 访问控制(或者隐藏具体实现)与"最初的实现并不恰当"有关。当程序员发现有更好的方式去实现相同的功能时,代码则需要重构。但是在修改和完善代码中,通常客户端程序员希望在某些部分保持不变。这种你变他不变的矛盾就随之产生了。解决该矛盾关键在于如何将变动的事物和保持不变的事物区分开来。 阅读全文
posted @ 2018-04-05 17:35 丶岑夫子 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 初始化与清理 初始化和清理是涉及程序安全的两个问题。Java构造器用于新建对象时的初始化,而垃圾回收器则进行清理。 构造器 其名称必须与类名一样,虽然构造器是一种特殊的方法,但是每个方法首字母小写的编码风格并不适合用于构造器。 构造器是没有返回值的,但是new表达式却返回了对新建对象的引用。 方法重 阅读全文
posted @ 2018-03-26 22:13 丶岑夫子 阅读(167) 评论(0) 推荐(0) 编辑
摘要: Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 to 3999. 思路分析: 1、熟悉罗马数字的规则。见LeetCode之Easy篇 ——(12)In 阅读全文
posted @ 2018-03-23 21:11 丶岑夫子 阅读(153) 评论(0) 推荐(0) 编辑
摘要: break、continue的相关规则如下,while和for同样适用: (1)一般的continue会退回最内层循环的开头(顶部),并继续执行 (2)带标签的continue会到达标签的位置,并重新进入紧接在哪个标签后面的循环 (3)一般的break会中断并跳出当前循环 (4)带标签的break会 阅读全文
posted @ 2018-03-23 19:47 丶岑夫子 阅读(267) 评论(0) 推荐(0) 编辑