今天突然想做一下面试总结,想着自己写出来的和别人的还是不一样的,这会是第一篇总结性的文章,也是我在csdn的第一篇文章,希望能开个好头。简单的提了一下java常用的关键字,面试应该用得着。
public:公共的,修饰类,方法和属性,代表可以跨包使用。
private: 私有的,修饰方法和属性,代表只能本类使用。子类无法使用。
default: 默认的,默认的修饰符,代表只能同包使用。
protected:介于公共和私有的修饰符,修饰过的属性和方法只能自己本类和子类使用。即使不是同包的子类也可以访问,被protected修饰的类,方法,属性只能被本身的方法和子类访问。
static: 修饰方法,属性,代码块。静态修饰后只会存在一份,随着类的加载而加载,类的消失而消失。被static修饰后的方法 可以直接类名.方法直接使用。被修饰的属性不能在非静态的方法中使用。静态方法可使用类中静态属性,不能访问非静态属性(原因:类加载时静态方法加载,这时候非静态属性未加载)。
abstract :抽象。修饰类,表示此类中可能有未实现的方法(只有方法的声明,没有具体逻辑)。修饰过的类不能被new实例化。修饰方法,表示方法留给子类去实现。有抽象方法的类一定是抽象类,抽象类不一定有抽象方法。
final :修饰类时此类不能被继承,这时类中的成员默认都是使用final修饰。修饰属性,表示属性不能修改,修饰方法时子类不能重写此方法。
super : 子类中使用父类方法和属性。
this : 使用本类的方法和属性。
volatile : 修饰变量,变量在多线程中可见,保证线程安全。
synchronized :
-
修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁
-
修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁
-
修饰代码块,指定加锁对象,对给定对象加锁,进入同步代码库前要获得给定对象的锁。



