Updated 2014/03/26 P300-P402

Updated 2014/03/25 P213-300

Updated 2014/03/20 P0-P213

对象本身已知的事物被称为: 实例变量(instance variable)

对象可以执行的动作称为: 方法(methods)

类不是对象,却是用来创建它们的模型。

3.Primitive主数据类型和引用--------------认识变量

Primitive主数据类型有8种:

Boolean, char, byte, short, int, long, float, double

数组也是对象

Dog dog = new Dog()   1)声明引用变量  2)堆上创建对象   3)将引用变量指向对象

Java值传递,拷贝传递

无需初始实例变量,因为它们会有默认值。数字的primitive(包括char)预设为0,boolean的预设为false,而对象引用则为Null

局部变量(声明在方法中)没有默认值!如果在变量被初始前就使用,编译器会报错

使用 == 来比较两个primitive主数据类型,或者判断两个引用是否引用同一个对象。

使用equals()来判断两个对象是否在意义上相等(如两个String对象是否带有相同字节组合)

运用多态时,引用类型可以是实际对象类型的父类。 Animal dog = new Dog();

问:你能够继承任何一个类吗?就像类的成员一样如果类是私有的你能不能继承?

答:内部类我们还没有介绍到。除了内部类之外,并没有私有类这样的概念。但是有三种方法可以防止某个类被作出子类。

第一种是存取控制。就算类不能标记为私有,但它还是可以不标记共有。非共有的类只能被同一个包的类作出子类。

第二种是使用final修饰符。表示它是继承树的末端,不能被继承。

第三种是让类只拥有private的构造程序

问:可不可以只用final去标识方法而不使用整个类。

答:如果你想要防止特定的方法被覆盖,可以将该方法标识上final这个修饰符。将整个类标识成final表示没有任何的方法可以被覆盖。

覆盖方法:

1)  参数必须要一样,且返回类型必须要兼容

2)  不能降低方法的存取权限。

重载的意义是两个方法的名称相同,但参数不同。它与继承或多态无关。

1)  返回类型可以不同

2)  不能只改变返回类型,参数需要不同

3)  可以更改存取权限

8 接口与抽象类     深入多态

抽象类:类前加abstract。 能够防止这个类被初始化,只有其子类可以被初始化

抽象的类代表此类必须要被extend过,抽象的方法代表此方法一定要被覆盖过。抽象的方法没有实体。 E.g. public abstract void eat();

如果你声明出一个抽象的方法,就必须将类也标记为抽象的。抽象类可以同时带有抽象和非抽象的方法。     继承下来的具体类必须实现其抽象父类的所有抽象方法。

Updated 2014/03/25 P213-300

编译器是根据引用类型来判断有哪些method可以调用,而不是根据Object确实的类型

接口可以用来解决多重继承的问题却又不会产生致命方块这种问题

Java的接口就好像是100%的纯抽象类。

接口的定义: public interface Pet {…..}

接口的实现: public class Dog extends Canine implements Pet {…}

要如何判断应该是设计类、子类、抽象类或接口呢?

如果新的类无法对其他的类通过IS-A测试时,就设计不继承其他类的类。

只有在需要某类的特殊化版本时,以覆盖或增加新的方法来继承现有的类。

当你需要定义一群子类的模板,又不想让程序员初始化此模板时,设计出抽象的类给它们用。

如果想要定义出类可以扮演的角色,使用接口。

栈存方法调用和局部变量。

堆存所有的对象。

如果局部变量是个对对象的引用,只有变量本身会放在栈上,对象本身只会存在于堆上。

super()必须放在构造函数的第一句。

使用this()来从某个函数调用同一个类的另外一个构造函数。

this()只能用在构造函数中,且必须是第一行语句。

super()与this()不能兼得

静态变量:被同类的所有实例共享的变量

静态方法:不需要对对象进行实例化,直接通过类名.方法名调用。静态方法中不能调用非静态成员和方法。

静态变量会在该类的任何对象创建之前就完成初始化;静态变量会在该类的任何静态方法执行之前就初始化

final的变量代表你不能改变它的值,final的method代表你不能覆盖掉该method,final的类代表你不能继承该类(也就是创建它的子类)

如果类只有静态的方法,你可以将构造函数标记为private的以避免被初始化(如Math类)。

在java中的常量是把变量同时标记为static和final的。

Final的静态变量必须在声明或静态初始化程序中赋值。E.g.:

static{

DOG_CODE = 420;

}

autoboxing:不必把primitive主数据类型与对象分得那么清楚.

可以把int类型的放入ArrayList<Integer>里,把boolean类型的放入ArrayList<Boolean>里,把char类型的放入ArrayList<Character>中

autoboxing不只是包装与解开primitive主数据类型给collection用而已,它还可以让你在各种地方交换地运用primitive主数据类型与它的包装类型。(P291)

1.方法的参数   2.返回值              3.boolean表达式             4.数值运算               5.赋值

Interger.parseInt(string)          Double.parseDouble(string)

要取得当前的日期时间就用Date,其余功能可以从Calendar上面找。Calendar抽象类

Calendar cal = Calendar.getInstance();

Format()  格式化参数 %[argument number][flags][width][.precision]type

%符号: 把参数放在这里,若在%后加上,数字将以逗号分隔开,如476,578.10234

[argument number]: 如果要格式化的参数超过一个以上,可以在这里规定是哪一个。

[flags]: 特定类型的特定选项,例如数字里加逗号或正负号

[width]: 宽度,最小的字符数,不足补齐,可超过此宽度

[.precision]: 精确度

Type:   一定要指定的类型标识

Updated 2014/03/26 P300-P402

不是由编译器检查的RuntimeException的子类,被称为检查异常。编译器的检查异常和运行期间的异常都可以被捕获到

异常处理规则

1)  catch与finally不能没有try.

2)  try与catch之间不能有程序。

3)  try一定要有catch或finally。

4)  只带有finally的try必须要声明异常。

Void go() throws FooException{

Try{

x.doStuff();

}finally{  }

}

5)如果try或catch块有return 指令,finally 还是会执行!流程会跳到finally然后再回到return 指令

Graphics2D引用上可以做的事情比Graphics对象更多。

PaintComponent(Graphics g){}                  由g参数所引用的对象实际上是个Graphics2D的实例。

创建GUI四个步骤:

1)  创建Window(JFrame) JFrame frame = new JFrame();

2)  创建组件       JButton button = new JButton(“click me”);

3)  把组件加到frame上 frame.getContentPane().add(BorderLayout.EAST,button);

4)  显示出来  frame.setSize(300,300); frame.setVisible(true);

内部类可以使用外部所有的方法和变量

可以直接从外部类程序代码中初始化内部的类,也可以从外部类以外的程序代码来初始内部实例。

Class Foo{

Public static void main(String[] args){

MyOuter outerObj = new MyOuter();

MyOuter.MyInner innerObj = outObj.new MyInner();

}

}

转载于:https://www.cnblogs.com/pandy/p/3614174.html

《head first java 》读书笔记相关推荐

  1. 读书笔记 | 墨菲定律

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  2. 读书笔记 | 墨菲定律(一)

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  3. 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记

    <洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...

  4. 股神大家了解多少?深度剖析股神巴菲特

    股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...

  5. 2014巴菲特股东大会及巴菲特创业分享

     沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...

  6. 《成为沃伦·巴菲特》笔记与感想

    本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...

  7. 读书笔记002:托尼.巴赞之快速阅读

    读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...

  8. 读书笔记001:托尼.巴赞之开动大脑

    读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...

  9. 读书笔记003:托尼.巴赞之思维导图

    读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...

  10. 产品读书《滚雪球:巴菲特和他的财富人生》

    作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...

最新文章

  1. 线刷一加5t android 9,一加5/5T 氢OS 9.0稳定四版 侧边工具 通知特效 Magisk 极速流畅 简约实用-刷机之家...
  2. 简单理解Ext.DomQuery操作CSS3选择器
  3. 查看字符集 oracle
  4. 外媒:社交媒体的大量使用与精神疾病有关
  5. 【BZOJ4069】【APIO2015】巴厘岛的雕塑 [贪心][DP]
  6. 支付系统开发中可能遇到的问题
  7. SAP UI5 sap.m.ListMode - ModesingleSelectMaster
  8. LeetCode 161. 相隔为 1 的编辑距离(DP/遍历)
  9. c语言 文件游程统计,游程 码表 如何形成
  10. vantUI组件:Grid宫格 - 案例篇
  11. acunetix12及Awvs12.x安装
  12. 阿里云物联网平台mqtt测试工具
  13. win7无法连接打印机拒绝访问_win7添加打印机提示windows无法连接到打印机怎么解决...
  14. 南方科技大学21年计算机考研情况 不保护一志愿?心比天高,德比纸薄?
  15. 交互设计基本功!5个值得学习的APP交互方式
  16. 域名解析ip地址的过程
  17. c758f52e87.html,浅析小学英语课堂教学艺术
  18. 今天是一位朋友的生日,送给她最美丽的祝福.
  19. 77道Spring面试题以及参考答案(2021年最新版),java开发项目经理面试题
  20. FFplay文档解读-45-视频过滤器二十

热门文章

  1. 人工智能起源于这三家学派?
  2. 2022年十大卫星技术创新及发展趋势
  3. 人脑启发AI设计:让神经网络统一翻译语音和文本
  4. IMT-2030(6G)推进组发布《6G总体愿景与潜在关键技术》白皮书
  5. “情感计算”的蓬勃发展依赖于收集大量的行为和情感数据
  6. 简要说明建设城市大脑三条关键标准规范
  7. 计算机行业2019年度投资研究手册
  8. 埃森哲:2018年科技愿景
  9. 单手也能创奇迹!独臂博士单手敲代码获奖 30 余项:感恩所有的善意
  10. “大厂平均年龄 29.6 岁”:不是我们选择了年龄焦虑,是大厂焦虑了我们