首页 > 学院 > 开发设计 > 正文

this、super、final关键字(以及final修饰基本数据类型和引用类型的区别)

2019-11-08 02:16:01
字体:
来源:转载
供稿:网友

一、this

1、定义:对当前实例的引用,this关键字总是指向调用该方法的对象。

2、用法:

构造方法中引用该构造方法,执行初始化的对象,即this(参数),使用在该方法的第一条。

this用在普通方法中,用来访问本类其他方法和属性。

可以将this关键字当作普通实参,在方法间进行传递。

注意:

用static修饰的方法还总使用this关键字,则这个关键字无法指向合适的对象,所以static关键字修饰的方法中不能使用this引用

二、super

1、定义:父类对象的一个引用

2、用法:

写在子类中:可以引用父类中可见的属性和方法,就是让父类去干什么。

super():使用在子类构造方法的第一条

super(参数):不能写在子类普通方法中

super不能作为参数在方法间进行传递(与this的不同之处)

三、final

1、用法

修饰全局变量:该变量为一个全局的常量(全局常量一定要赋初始值,全局变量可以不赋初始值)。

修饰局部变量:变为局部的常量,仅在所在的代码块中有效。

修饰类:则该类为最终类,即没有子类不能被继承

修饰方法:则该类不能被重写,成为最终方法

注意:

局部常量初始化和赋值可在不同行,但是全局常量必须在同行

无论是全局常量还是局部常量都只能赋值一次,之后不能修改

只有final可以修饰局部变量,像PRivate一类的访问权限修饰符不能修饰局部变量,但是可以修饰全局变量

子类可以继承父类中final修饰的方法,但是不能重写

final修饰基本数据类型和引用类型变量的区别: 当使用final修饰基本类型变量时,不能对基本类型变量重新赋值,因此基本数据类型变量不能被改变,但对于引用类型的变量而言,它保存的仅仅是一个引用,final只保证这个引用所引用的地址不会改变,即一直引用同一个对象,但这个对象完全可以发生改变final Person p = new Person(45);//p是一个引用变量p.setAge(23);//改变Person的age属性,合法p=null;//对P赋值非法
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表