修饰符, 修饰符控制范围和使用范围
     类修饰符:public,protected,private,缺省的访问修符,abstract,final
域的修饰符:public, protected, private, static, final, transient, volatile
     方法修饰符:public, protected, private, static, final, abstract, native, synchronized
类
访问修饰符  修饰符  class 类名称 [extends 父类名称 implement 接口名称]{
成员变量定义;
构造函数定义;
成员方法定义;
}
注:访问修饰符与修饰符的位置可以互换
类修饰符
访问控制修饰符:Public , Protected(内部类使用), Private(内部类使用) ,缺省的访问修饰符 
抽象类修饰符:Abstract 
最终类修饰符: Final
    
        
            | 访问控制修饰符:  | 
        
            | 名称说明备注 | 名称说明备注 | 名称说明备注 | 
        
            | Public  | 定义为pulbic类可以被任何包中的类所使用,不加public类只能由同一个源文件或同一个包中的类使用.  | 在同一个源文件中不能同时包含两个public. public类必须在java文件中定义.  | 
        
            | Protected(内部类使用)  | Protected关键字限定类的成员仅仅可以被该类及其子类访问。  |  | 
        
            | Private(内部类使用)  | Private限定类的成员公能被该类的其他成员使用 | 有利于内部信息隐藏  | 
        
            | 缺省的访问修饰符  | 缺省的访问修饰符  | 缺省的访问修饰符  | 
    
    
        
            | 抽象类修饰符:  | 
        
            | Abstract一 | 用此关键字的类是一个未完成的类,该类中只是声明方法,但不能实现  | 不能用实例化对象,只能被继承 非abstract类中含有abstract,编译出错 Abstract和final只能用其一  | 
        
            | 最终类修饰符:  | 
        
            | Final  | 不能被继承,提高安全性,完美。Final的定义是完整的,不可以有任何的子类  | Abstract和final只能用其一  | 
    
域(类中的属性或变量)  
¡      [域修饰符] 类型 变量[=初始值][,变量]
  
    
        
            | 变量: | 成员变量  | 局部变量  | 
        
            | 定义  | 在类中定义的变量  | 方法中定义的变量以及方法的参数  | 
        
            | 可分为:  | 实例变量(类中的非静态变量) 类变量(类中的静态变量)static |  | 
        
            | 初始化器  | {}  Static{}  | 无  | 
        
            | 类型:  | 两都都可以使用java中的任意类型(如:int,boolean,float…)  | 
        
            | 作用范围:  | 整个类类中有效  | 只在定义它的方法中有效  | 
        
            | 修饰符:  | 有访问修饰符  | 无  | 
        
            | 初始化:  | 可心不初始化(null(引用类型)或者0、false)  | 必须初始化  | 
        
            | 注:  | 1.如果局部变量的名字与成员变量的名字相同,则成员变量将在方法中被隐藏  | 
        
            | 当你需要使用成员变量时,可采用关键字(this),但在static方法中不能使用this,supper关建字。  | 
    
域修饰符
  
    
        
            | 名称 | 说明 | 备注 | 
        
            | 访问控制修饰符  | 
        
            | public | 可以被任何类访问  |  | 
        
            | protected | 可以被同一包中的所有类访问 可以被所有子类访问  | 子类没有在同一包中也可以访问  | 
        
            | Private  | 只能够被当前类的方法访问  |  | 
        
            | 缺省 无访问修饰符  | 可以被同一包中的所有类访问  | 如果子类没有在同一个包中,也不能访问  | 
        
            | 静态域修饰符  | 
        
            | static  | 静态变量(又称为类变量,其它的称为实例变量)  | 可以被类的所有实例共享。 并不需要创建类的实例就可以访问静态变量  | 
        
            | 最终域修饰符  | 
        
            | Final  | 常量,值只能够分配一次,不能更改  | 注意不要使用const,虽然它和C、C++中的const关键字含义一样 可以同static一起使用,避免对类的每个实例维护一个拷贝  | 
        
            | 其它修饰符  | 
        
            | Transient  | 告诉编译器,在类对象序列化的时候,此变量不需要持久保存  | 主要是因为改变量可以通过其它变量来得到,使用它是为了性能的问题  | 
        
            | volatile  | 指出可能有多个线程修改此变量,要求编译器优化以保证对此变量的修改能够被正确的处理  |  | 
    
方法
访问修饰符 修饰符 返回类型 方法名称(参数列表)throws 违例列表 
¡        类的构造器方法不能够有修饰符、返回类型和throws子句
¡         类的构造器方法被调用时,它首先调用父类的构造器方法,然后运行实例变量和静态变量的初始化器,然后才运行构造器本身。
¡        如果构造器方法没有显示的调用一个父类的构造器,那么编译器会自动为它加上一个默认的super(),而如果父类又没有默认的无参数构造器,编译器就会报错。super必须是构造器方法的第一个子句。
¡        注意理解private构造器方法的使用技巧。  
方法的修饰符
¡        访问控制修饰符 :Public , protected ,缺省
无访问修饰符 
¡        静态方法修饰符 :static 
¡        最终方法修饰符 :Final 
¡        抽象方法修饰符 :Abstract 
¡        本地方法修饰符 : Native 
¡ 同步方法修饰符 :synchronized
  
 访问修饰符的控制范围 
    
        
            | 访问修饰符  | 本类  | 同一包中的类 | 不同包中的类  | 
        
            | Public  | ?  | ?*  | ?*  | 
        
            | Private  | ?  |  |  | 
        
            | Protected  | ?  | ?*  | *  | 
        
            | 缺省 | ? | ?* |  | 
        
            | ?可访问 *可继承 | 
    
修饰符的使用范围   
    
        
            | 修饰符  | 类  | 方法  | 变量  | 
        
            | Final | Y | Y | Y | 
        
            | Abstract | Y | Y | N | 
        
            | Static | N | Y | Y | 
        
            | Native | N | Y | N | 
        
            | Transient | N | N | Y | 
        
            | Volatile | N | N | Y | 
        
            | synchronized | N | Y | N | 
    
  
综合实例
•         BedeckDome.java类: 
•         类Test.java(未完)