java共有51个关键字,两个保留字:const和goto。

    以下是五十一个关键字的一点简介。

1、 访问修饰符

private:  private表示私有。用于类内的属性时,常常是用来封装的;用于方法的情况比较少,表示方法只能被本类中实例化的对象引用;

private只能修饰内部类-----外部类不能用private修饰,不然直接就报错!修饰内部类时,要与static连用。

class   Demo    
                    {     
                       private int money;    
                       Demo()    
                       {    
                          money=2000;    
                       }    
                       private int getMoney()    
                       {    
                         return money;    
                        }    
                     public  static  void main(String[]  args)    
                     {    
                         Demo de=new  Demo();    
                         de.money=3000;             //合法    
                         int m=de.getMoney();       //合法    
                         System.out.println("money="+m);    
                      }    
                     }

protected:  protected无论是属性还是方法,用了protected,则表示该属性或方法不能被不同包的非子类访问。protected的权限介于public和private之间。能修饰类,但也只是能修饰内部类。

public:  public能修饰类、属性、方法。修饰类时,无论它所处在的包定义在哪,该类(接口、成员)都是可访问的。一般不用来修饰属性。修饰方法时,可以被子类继承和其他类调用。

 

 

2、包

package: package的用处很大。在不同的包下,即使文件重名也没事——即用来管理各种类。

import:  import主要用于引入包名——能帮我们省好多打字的力气。

 

static:  static可用来修饰类名、属性、方法。用来修饰属性,实现将数据存入全局数据域。若是修饰方法,则可以不用实例化直接调用此方法。使用static方法,不能调用非static的方法或属性。

 

final:  使用final的类不能有子类。使用final的方法不能被子类所继承。使用final声明的变量即成为常量,常量不可以修改。

 

super:  super关键字表示超(父)类的意思。可以使用super访问父类被子类隐藏的变量或覆盖的方法。当前类如果是从超类继承而来的,当调用super.XX()就是调用基类版本的XX()方法。

class Person{
  protected void print(){
    System.out.println("The print() in class Person.");
  }
}
public class DemoSuper extends Person{
  public void print(){
    System.out.println("The print() in class DemoSuper.");
    super.print();//调用父类的方法
  }
  public static void main(String[] args){
    DemoSuper ds=new DemoSuper();
    ds.print();
  }
}

结果:

The print() in class DemoSuper.

The print() in class Person.

super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句)。class Person{

public static void prt(String s) {System.out.println(s);}
   Person(){
    prt("A Person.");
  }
   Person(String name){
    prt("A person name is:"+name);
}
}
public class Chinese extends Person{
Chinese(){
   super();//调用父类构造函数。
    prt("A chinese.");
}
Chinese(String name){
super(name);//调用父类具有相同形参的构造函数。
prt("his name is:"+name);
}
  public static void main (String[]   args){
  Chinese cn=new Chinese();
    cn=new Chinese("kevin");
    cn=new Chinese("kevin",22);
  }
}

结果:

A Person.

A chinese.

A person name is:kevin

his name is:kevin

 

<!--[if !supportLists]-->3、          <!--[endif]-->基本数据类型

byte:  一个字节,常用于文件流

char:  两个字节,表示符号

short: 两个字节,短整型

int:   四个字节,有符号整型

long:  八个字节,长整型

float:四个字节,浮点型

double:八个字节,双精度型

boolean:  false,true——两种情况

void:  表示不返回参数,常用在方法名前修饰。

null:  对于一个值来说,表示空值。常见于字符串。

 

4.定义类和定义接口,实现以及继承

class: 用来表示一个类。可以是修饰一个内部类,也可以修饰外部类。其实,主方法外面也是一个类,只不过主方法是静态的,不需要实例化对象就可以调用。

 

interface: 定义一个接口要用interface

 

implements: 接口继承所用的关键字。接口中的方法必须全部实现。

 

extends: 继承是一种很重要的关系,通过继承,可以大大减少程序员的工作量。继承中可以重写方法。

 

abstract: 抽象类介于继承的类和接口之间。若用abstract修饰一个方法,则包含这个方法的类必是抽象类。同时,抽象类继承后不用全部实现原来的方法。

 

5.流程控制

if  :条件判断

else  :与if搭配表示其他的情况

for  :循环的关键字

while  :可以与do搭配,也可以自己与循环体构成循环

do  :必然要与while搭配

continue  :不执行本次循环剩下的部分,而开始下一次循环

break  :直接跳出循环

switch  :与case、default搭配,进行分支判断

case   :case后面表示一种情况

default :既表示case剩余的部分,也可以表示不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。 

 

6.异常

try:  try语句块包住要监视的语句,如果在try语句块内出现异常,则异常会被抛出

catch: 你的代码在catch语句块中可以捕获到这个异常并做处理

finally  : finally语句块会在方法执行return之前执行

throws : 通过throws关键字在方法上声明该方法要抛出异常

throw : 在方法内部通过throw抛出异常对象

  try{
    程序代码
    }catch(异常类型1 异常的变量名1){
    程序代码
    }catch(异常类型2 异常的变量名2){
    程序代码
    }finally{
    程序代码
    }

 

7.返回

return: 返回一个数据类型,可以是基本数据类型,也可以是引用数据类型

 

true: boolean类型中的一个,表示真

false: 表示假

new : new运算符,用于实例化一个新对象

this: 表示类中的属性,也可以类中其他的构造方法(this语句要放在句首),还可以表示当前的对象(当前在操作此方法的对象称为当前对象)。

instanceof:  可以用instanceof关键字判断一个对象到底是哪一个对象的实例。用法:对象 instanceof 类 –> 返回boolean类型

 

 

8.其它      

enum      枚举类型,用法:public enum 类名{}

用法参考:

transient: transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。  

synchronized:     是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法

http://tech.ddvip.com/2008-11/122708815693650.html 

assert:    assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。

http://tech.ccidnet.com/art/3737/20090408/1733925_1.html

native:  Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。

http://weiwu83.iteye.com/blog/141197

strictfp:   用strictfp修饰类或方法,可以确保浮点运算(以及所有切断)正如早期的Java版本那样准确。切断只影响某些操作的指数。当一个类被strictfp修饰,所有的方法自动被strictfp修饰。  

volatile: volatile修饰符告诉编译器被volatile修饰的变量可以被程序的其他部分改变。在多线程程序中,有时两个或更多的线程共享一个相同的实例变量。考虑效率问题,每个线程可以自己保存该共享变量的私有拷贝。实际的变量副本在不同的时候更新,如当进入synchronized方法时。 

http://caoruntao.iteye.com/blog/1100041