java中super关键字和this比较以及final关键字的理解
1.super关键字和this关键字不同
- this代表本类对象的引用
- super代表父类对象存储空间的标识(可以简单的理解为父类对象的引用)
2.用法上类似
- 访问成员变量
this.成员变量
super.成员变量 - 访问构造方法
this(...)
super(...) - 访问成员方法
this.成员方法()
super.成员方法()
代码例子
class A{
private int age ;
private String name;
public A(){
}
public A(int age , String name){
this.age = age ;
this.name =name;
}
public void show(){
System.out.println("姓名:"+name+"年龄:"+age);
}
}
class B extends A {
public B(){
super();//默认调用父类的构造方法
}
public void print(){
super.show();//用super关键字调用父类的方法
System.out.println("我是B ");
}
}
public class Test{
public static void main(String [] args){
B b = new B();//创建一个B类对象
b.print();//通过对象访问方法
}
}
3.final关键字
final 关键字是最终的意思,可以修饰类,成员变量,成员方法。
1.修饰类,类类不能被继承
2.修饰变量,变量就标称了常量,只能被赋值一次修饰方法,方法不能被重写**。
final关键字面试题
1.final修饰局部变量
- 在方法内部,该变量不可以被改变
- 在方法声明上,分为基本类型和引用类型作为参数的情况
- 基本类型,是值不能被改变
- 引用类型,是地址值不能被改变
- final修饰变量的初始化时机
在对象构造完毕前即可