学习笔记(2016-04-25)

本篇笔记记录自己在看《OCA Java SE7 Programmer 认证学习指南》这本书的时候,我自己觉得重要的或者我之前不够清楚的内容,没有什么太好的逻辑,也就是按着看到或者想到的点,以做记录。
1. 一些选项
-d 选项编译源码
javac -d classes HelloWorld.java (假设包名为com.ergouge)
那么编译后的class文件的路径为:[当前目录]\classes\com\ergouge\HelloWorld.class
-classpath or -cp 选项编译代码
javac -d class -cp pathA\classes\;. HelloWorld.java
在上面的编译器调用中,编译器在它编译时包括了位于pathA\class目录下的所有文件以及位于当前工作目录(.)下的所有类,-d选项将放置编译后的字节码到类目录。
java -cp classes com.ergouge.HelloWorld 解释执行HelloWorld
-D 选项,设置新的属性
java -D<name>=<value> class
java -version ProgramName (-version要放在前面,不然会被忽略)
2. java中无效的赋值操作: <<<=
3. String和StringBuilder类似不可比较的类型
4. indexOf(Charsequence str, int fromIndex)是无效的,API中没有提供此方法
5. 方法各部分的术语
<Access Modifier> <Reture Type> <Method Name> (<Parameter List>)
{<Body>}

四种访问修饰符,注意区别,protect和默认方式的区别是,protect除了同包中的类可以访问到,还有非同包但是继承自该类的子类中可以访问到。一个方法可以包含多大255个参数,但通过超过5个参数的设计会被认为是糟糕的方法设计。
6. this和super关键字(我的理解是this()或者super(),而不是this.*)只可以用在构造函数的第一行。当使用默认构造函数的时候,会通过使用super自动调用其父类的构造函数,一个用户自定义的构造函数可以通过在第一行使用super来调用父类的构造函数;如果用户自定义的构造函数没有使用super,编译器将会自动使用super来调用父类的无参构造函数,如果父类不存在这样的构造函数,则编译报错。
如果用在他地方使用则会报错:Constructor call must be the first statement in a constructor
7. 非静态方法(包含构造函数)可以使用静态变量
8. 数组可以有多个维度,Java语言并没有对一个数组的维度进行限制,但是Java虚拟机规范设置了256维度的实际限制
9. 数组
Object[8] obj = new Object[]
Object[7] obj = new Object[7]
int [] a = new Integer[4]; (不要认为是自动装箱,报错Type mismatch: cannot convert from Integer[] to int[])
Integer []b = new int[5];
double [][] nums = {{1,2,3},{7,8},{3,5,2,3}};
上面几句,前4句都是错误的,最后1句是正确的。另外注意一点,基本数据类型(比如int)是不能直接存储在类似ArrayList这些集合类中的,需要使用自动装箱和拆箱操作,ArrayList对象相比标准数组,涉及到更多的开销。
10. Java变量名命名规则
java:数字、下划线、字母、$,并且数字不能打头(美元符可以开头)
c/c++:数字、下划线、字母,并且数字不能打头
11. 抽象类可以扩展其他的抽象类,抽象类不需要实现抽象超类的方法,然而,所有的这些方法必须被它的第一个具体子类实现
12. “多态”这个词语来源于希腊语,大致的意思是“多种形式”
13. 异常
已检查的异常(checked Exception):在编译时被编译器检查
未检查的异常(unchecked Exception):在运行时检查
Heatlamp:可视化的堆栈跟踪
按照规范,所有的异常类(包括自定义)都应该有一个默认的构造函数,它不接受任何参数,另外还有一个接受一个字符串参数的构造函数
Java7中引入了multi-catch和try-with-resource功能
14. 类关系(此书讲的不清,没完全理解,感觉有点自相矛盾)

  1. 直接关联:has a
  2. 组合关联:compose of
  3. 聚合关联:part of
  4. 临时关联

记于 2016-04-20 - 2016-04-25

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值