一、final

1.可以修饰属性,表示常量,其值在运行期间不允许改变。常量必须赋初始值,初始值可以在声明出,构造方法的任意一个地方赋

  优点:增强程序的可读性,可维护性

2.可以修饰方法,表示该方法不能被重写(可以继承)

3.可以修饰,表示该类不能被继承(不能产生子类)

二、static

1.可以修饰属性

  类属性(静态属性):由static修饰的属性。属于类,只分配一份内存,该类的对象都可以使用

    调用:类名.属性

    可以被静态方法,实例方法直接访问

  实例属性(没有static修饰的):属于实例对象,每一个对象都有自己的内存

    调用:对象名.属性

    可以被实例方法直接访问(静态方法如果要访问,必须先创建对象)

2.可以修饰方法

  类方法(静态方法)可以直接访问静态成员,不能直接访问实例成员。

              如果要访问实例成员,必须先创建对象,再用对象名.成员去访问。

  实例方法:可以直接访问实例成员、静态成员。

三、abstract

  抽象方法:由abstract修饰的,没有方法体的方法。

  抽象类:由abstract修饰的类。

    包含抽象方法的类必须是抽象类。

    抽象类不能实例化(不能用new创建对象)。

  注意:final和abstract不能同时修饰一个方法或一个类

     static和abstract不能同时修饰一个方法

 

posted on 2019-04-25 21:39  tom和mt  阅读(158)  评论(0)    收藏  举报