Archive for 九月, 2007
星期二, 九月 4th, 2007
- simple OOP rules: An object “has” an attribute, and an object “does” a behavior。
- is a是检验面向对象编程的一个重要方法;如果是has a,只需使之成为一个属性就行了。
- 在JAVA中所有的类默认继承自java.lang.Object;
- Object中的方法:equals(Object x),判断是否相同,和hashcode()密切相关,后者必须也相等;toString(),调试用,一般对于每个类都覆盖此方法以方便测试。
- 方法覆盖method override是OOP的一个重要特征,必须满足一下三个条件:返回类型、方法名称、参数列表需要一致;存取权限最少也应该和父类相同;不能比父类抛出更多的异常。
- this指向自己,super指向父类。
- final类不能被继承,final方法不能被覆盖。
- 实例化的过程中在构建部分会逐级向上,直到Object。
- super()、this()必须位于构建器的第一行,如果没有,编译器会自动添加super()。
Posted in JAVA | No Comments »
星期一, 九月 3rd, 2007
- &&和||是短路运算符,意指如果第一个表达式运算结果能决定结果则后面的不再进行运算。
- 能用在switch的数据类型必须是32位的,可以是byte、short、int和char;break虽然不是必需的,但还是要注意在需要的地方放一个break。
- 能够判断循环的次数则尽量用for,如果不能则用while。break跳出循环体,continue略过后面的步骤后继续循环。
- (int)(Math.random ()*10)的值是一个随机数;(int)(Math.random ())*10的值为零,因为Math.random()的值在0到1之间,cast为int后当然为零,乘以10仍然是零。
- 重载(overload)指名字一样但参数列表不同(与返回值类型无关)的方法存在时;可以使程序更直观因为不用为不同的参数命名成不同的方法;经常使用在类构建的时候。
- 构建器(constructor)用来初始化类,使属性的值有意义(默认都是零、null或false);名称需与类名相同,同时不能有返回值类型声明;作为特殊的方法,重载同样适用。
- 如果没有定义构建器,编译器会自动生成一个空的构建器(没有参数,体内也没有任何语句);如果自己定义了一个的话,那个默认的构建器就不会自动出现了,这意味着如果要获得一个实例,必须按照自己定义的方式输入相应的参数,否则无法实例化。
- this有两种用法:作为参考指向自己以方面存取属性数据;在构建器中用来调用其他的构建方法,如this(4,10)。
Posted in JAVA | No Comments »
星期天, 九月 2nd, 2007
聊以静心。JAVA,优美的语言。
- 结构简单,易学;跨平台,方便移植或者说不用移植;适应网络,迎合互联网时代的需求。
- J2ME、J2SE、J2EE分别满足不同的需求。
- 实现跨平台JVM是关键;bytecode是JVM能够识别并解释执行的指令(好比一般的电脑CPU指令集);JVM直接决定了JAVA程序运行的效率。
- 单个文件可以包含多个class,但只能有一个声明为public,并且以之为文件名。
- JAVA中各种基础类型数据都有明确的字长限定,方便JVM解释执行,和本来的操作系统无关。
- 共有八种基础数据类型:byte-8位;short-16位;int-32位;long-64位;float-32位;double-64 位;char-16位;boolean。int和float虽然都是32位,但很不同,float可以处理带小数点的数,并且比int能处理更大范围的数 值,只是精度方面稍有损失。
- class也是一种数据类型,和基础类型以及J2SE中已经有的不同,这个是您自己设计并创建的。
- 创建新的数据类型并以此为基础开发程序是面向对象编程的基础。
- 识别符(Identifier)的命名规则:不能是关键字或者false、true、null;可以包含字母、数字、下划线和美元符号;必须用字母、下划线和美元符号起头,不能是数字。
- JAVA是一种强类型检查语言,并且是在编译时进行检查。要赋给变量不同于生命类型的值,需要用cast(造型)--float类型数据cast为int时简单的把小数点后的部分丢弃。
- 15/4=3。因为默认15和3都是int,得到的也应该是整数,所以对正确的答案3.5的小数点后面部分做了舍弃,结果为3。要想得到正确的答案,需要声明15和3为F(即float)或用15.0和3.0表示其为double。
- boolean的值只能是true或false,不像其他语言那样用0或其他数值表示。如果x、y都是boolean类型,像这样的式子是错误的y=x。
- char只有16位,是无符号数,没有负值。可以加减,但自动提升为int,要想作为char类型需要cast。
- String是J2SE自带的class,赋值后不可更改,为的是方便JVM对String类型数据的管理。通过+连接的字符串是新字符串。
- JAVA抛弃了指针的概念,虽然引用仍然指向某个内存地址,但不可对之进行运算。
- boolean操作符是用来把两个或多个boolean表达式合并(处理)为一个具体的boolean。条件运算符&&、||用于boolean表达式,而&、|、^还可以用于整数。
Posted in JAVA | No Comments »