java的关键字
java的关键字有很多,如:
与权限有关的:public /protected/ private 与类型有关的: int /long/short/double/float/char/boolean/byte/String/void/instanceof
与类有关的: class/static/this/super/return/inner 与选择有关的: if/else/switch/case/break/default
与循环有关的:for/while/do while/break/continue
其他: import /package/sizeof
以下重点讲解重要的但是不太常使用的:
1. this
this的生存范围仅限于类中。它主要是用来代替当前正在使用的对象,用来限定和访问对象属性和对象方法,一般在类中的构造函数或者普通函数中 使用。在构造函数中,它能一层层往下调用,最后是最全的方法去实现(必须放在第一行)
package TestThis;
public class Car {
String name;
int price;
public Car(String name, int price) {
this.name = name;
this.price = price;
System.out.println("当前this为: carName:"+name+" carPrice:"+price );
}
}
package TestThis;
public class TestMyThis {
public static void main(String[] args) {
Car c1=new Car("法拉利",1000000);
Car c2=new Car("奔驰",500000);
}
}
运行结果:
可以看出, (1) this在类中代表的是当前对象
(2)this能区分同名的全局变量和局部变量
2. super
super关机字一般在存在继承关系的同名函数。相当于重写。
package TestSuper;
public class People {
public void behavior(){
System.out.println("唯一睡觉时脊椎着地的高级生物");
}
}
package TestSuper;
public class Worker extends People{
public void behavior(){
super.behavior();
System.out.println("每天累成狗");
}
public static void main(String[] args) {
Worker worker = new Worker();
worker.behavior();
}
}
运行结果:
可以看出: (1)super重写了父类中的同名函数
(2)super相当于父类的对象,能够调用父类的方法和属性
(3)super在普通方法中,通过super.方法名()调用父类的方法;而在构造方法中,直接用super("xx")(必须在第一行)
3. static
它表示静态的,通常用来限定在程序中的唯一性。
在画图板中,可以用static 来修饰画笔。因为画笔在画图板中是唯一的。可以共享,对它的修改也是共享的。
但是,static在线程安全上,有bug。如,在售票时,几个顾客同时抢同一张车票。此时,票是唯一的。票究竟给谁?这是一个问题。
4. 访问权限
5. final
用来限定常量,不能更改。一般用来配置信息,常与static搭配使用。
如 在超级玛丽游戏中,子弹数最大值是定死的,不能更改。就可以用final来修饰子弹数
6.break和continue
break表示跳出循环,continue表示跳出本次循环开始下次循环。
7. instanceof
instance:例子 instanceof : ...的例子
用法: boolean = A instanceof(B);
意思就是,判断A和B是不是一样的