java

一元加号唯一的作用是将较小类型的操作数提升为int。

比较运算符不适用于boolean类型,因为boolean值只能为true或false, "大于"和"小于"没有实际意义。

java中增加了一种"无符号"右移位操作符(>>>),它使用"零扩展": 无论正负,都在高位插入0。这一操作符是C或C++中所没有的。

如果对char,byte或者short类型数值进行移位处理,那么在移位进行之前,它们会被转换成int类型,并且得到的结果也是 一个int类型的值。

如果传入的数据类型(实际参数类型)小于方法中声明的形式参数类型,实际数据类型就会被提升。(byte->short->int->long->float->double;    char->int)char型略有不同,如果无法找到恰好接受char参数的方法,就会把char直接提升至int型。

类既不可以是private的,也不可以是protected。所以对于类的访问权限,仅有两个选择:包访问权限或public。

 

根据惯例,既是static又是final的域(即编译期常量)将用大写表示,并使用下划线分隔各个单词

public final 域如果定义时没有初始化,才可以在构造方法中初始化,且在构造方法中也不能修改已初始化的值;

public static final 域必须在定义时初始化, 不能在构造方法中初始化;

1 public class Child extends Parent
2 {
3     //合法代码,属于重新定义属性,不是修改值
4     public final int age = 100;
5 }
6 class Parent
7 {
8     public final int age = 99;
9 }
 1 public class Child extends Parent
 2 {
 3     public Child()
 4     {
 5         //非法代码, final域不可修改
 6         this.age = 100;
 7     }
 8 }
 9 class Parent
10 {
11     public final int age = 99;
12 }
1 public class Child extends Parent
2 {
3     //非法代码,不能覆盖父类final方法
4     public final void echo(){}
5 }
6 class Parent
7 {
8     public final void echo(){}
9 }
1 public class Child extends Parent
2 {
3     //合法代码, 属于重新定义方法
4     private final void echo(){}
5 }
6 class Parent
7 {
8     private final void echo(){}
9 }

 

1 public class Child extends Parent
2 {
3     //合法代码, 属于重新定义属性
4     private final int age = 100;
5 }
6 class Parent
7 {
8     private final int age = 99;
9 }

 在final类中可以给方法添加final修饰词,但这不会增添任何意义

 

 

1 class A
2 {
3     //合法代码块
4     {
5          i = 100;
6     }
7     public int i = 99;
8 }

 

posted @ 2015-04-07 14:36  挨踢淫才  阅读(236)  评论(0编辑  收藏  举报