Abstract: 

               abstract修饰类后,该类为抽象类,不能被实例化,必需进行扩展。

               修饰方法后,该方法为抽象方法必须被子类重写(override)

  1.  abstract 只能修饰类和方法,不能修饰属性,abstract是为了抽象化,将类的属性抽象化没有实际的意义

          下面是一些修饰词,不能和其并存

  1.  final:final 的目的是防止属性和方法被修改,不能被继承,但是抽象方法就是用来被继承的
  2.  private:abstract 是为了用来让子类继承的,子类不能继承父类 private 方法
  3. native:本地的,本身与abstract就冲突,native是把方法实现交给本地操作系统,而 abstract 是将实现交给子类重写的方法,他们都是方法的声明。
  4. synchronize:一种线程锁,需要具体操作才能进行同步,但是 abstract 修饰的方法没有方法体,也就没有具体的实现操作
  5. 接口里的方法是不能有方法身体的,但抽象类的方法是可以有方法体的,继承后,在这一点上就会产生矛盾.

Static:

static--修饰内部类说明该内部类属于外部类而不属于外部类的某个实例。

           修饰字段说明该字段属于类而不属于类实例。

           修饰方法说明该方法属于类而不属于类实例。  

访问修饰词 当前类 子类 本包中的类 其他包中的类
public
protected x
default x x
private x x x