慢慢来--final、static、this、super关键字

final关键字

final关键字可以用来修饰类、方法和变量

  1. final修改的类不能被继承,final类中所有成员方法都会隐式的指定为final方法
  2. final修饰的方法不能被重写
  3. final修饰的变量是常量,如果是基本数据类型的变量,则其数值初始化后便不能修改;如果是引用类型的变量,初始化后不能指向另一个对象

说明:使用final方法的原因有两个,一是把防止方法被重写;第二个原因是效率,早起java中final方法会转为内嵌调用,但是方法如果过于庞大,内嵌调用并不会带来性能的提升。类中所有的private方法都隐式的指明为final

static关键字

  1. 修饰成员变量和成员方法:被static修饰的成员变量属于类,不属于某个对象,被类中所有对象共享,可以并且建议通过类名调用。被static修饰的成员变量属于静态成员变量,静态变量存放在方法区中
  2. 静态代码块:静态代码块定义在类中方法外,静态代码块在非静态代码块之前执行(静态代码块–>非静态代码块–>构造方法)。该类不管创建了多少对象,静态代码块只执行一次。
  3. 静态内部类:静态内部类与非静态内部类之间存在的区别为非静态内部类在编译后会隐含保存一个引用,该引用指向创建它的外围类,但是静态内部类却没有,没有这个引用意味着它的创建不需要依赖外部类的创建,它不能使用任何外部类的非static成员变量和方法
  4. 静态导包:import static XXX 可以指定导入某个类中的指定静态资源并且不需要使用类名嗲用类中静态成员,可以直接使用类中静态成员和方法。

this关键字

this关键字用于引用类的当前实例,这个关键字是可选的。

super关键字

super关键字用于从子类访问父类的变量和方法

  • 在构造器中使用super调用父类中其他构造方法时,该语句必须处于构造器首行,否则编译器会报错。另外this调用本类中其他构造方法时,也要放在首行
  • this,super不能用在static方法中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值