java关键字final、static、abstract的总结

final关键字:

  1. final修饰类:
    (1)fina修饰的类不能被继承,因此该类内的方法自然不能被其子类所 覆盖,所以所有方法被隐式的修饰为final。
  2. final修饰方法:
    (1)final修饰的方法不能被覆盖。
  3. final修饰变量:
    final修饰的变量只能被初始化一次且必须被初始化,初始化的两种方式:
    (1)在声明变量的同时初始化,且以后都不能改变这个值。
    (2)在声明变量的时候没有初始化,可在初始化块或者构造函数内初始化。
  4. final修饰参数:
    (1)final修饰参数时,参数的值不可改变。如下:
public void fun(final n){
	n++;   //对声明为final的参数n进行自加,是错误的
	System.out.println(n);
}

static关键字:

  1. static修饰类:
    (1)普通类不能声明为static,内部类可以声明为static,声明为static的内部类和普通类相同可以直接创建对象,否则必须通过外部类对象来new内部类对象。

  2. static修饰方法:
    (1)static方法在类加载到jvm时随着类的加载而加载,而且只加载一次,独立于类本身,共享于类的所有实例。
    (2)可通过类名.静态方法或创建实例访问静态方法。
    (3)静态方法的效率要比实例化高。
    (4)静态方法的缺点是不自动销毁,而实例化的会被销毁。
    (5)static修饰的方法不能使用this和super。

  3. static修饰变量:
    (1)static修饰的变量叫静态变量或类变量,和静态方法一样,在类加载jvm时加载静态变量,为静态变量分配一次内存。
    (2)可通过类名.静态变量或创建实例访问静态变量。

  4. static修饰静态代码块:
    (1)static代码块是独立于类成员的代码块,可以有多个,位置可以在任意地方,在jvm加载static代码块时,如果有多个代码块,按照他们在类中的先后位置执行他们,每个代码块只会被执行一次。
    (2)可在静态代码块中进行初始化操作。

abstract关键字:

  1. abstract修饰类:
    (1)abstract修饰的类不能被创建实例,可以被继承。
    (2)抽象类可以继承实体类(抽象类可以包含非抽象方法)。
    (3)抽象类的子类如果不完全实现父类的全部抽象方法,则需声明为abstract,否则子类可以不声明为abstract。
    (4)抽象类可以有构造方法,供子类调用对父类进行初始化。
  2. abstract修饰方法:
    (1)抽象方法的类一定是抽象类。
    (2)抽象类中的抽象方法只有声明。
  3. abstract不能修饰变量。

总:

final关键字和static关键字可以一起使用。
final和abstract关键字不能一起使用:(无论是类,方法,成员变量,局部变量)
static和abstract不能一起使用:(无论是类,方法,成员变量,局部变量)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值