Java笔记(四)

本文介绍了Java中的super关键字、@override注解及final关键字的作用与用法,详细解释了向上转型(upcast)与向下转型(downcast)的概念及其安全性,帮助读者理解Java的继承与多态特性。
一、复用类
1.super关键字

Java用super关键字表示超类的意思,当前类就是从超类继承来的。如果没有默认的基类构造器,或者想调用一个单参数的基类构造器,必须用super关键字显示的编写调用基类构造器的语句。

2.@override注解

Java SE5中增加了@override注解,它并不是关键字。当你想要覆写某个方法时,可以选择添加这个注解,在你不留心重载而非覆写了该方法时编译器会报错。(overload为重载)。@override注解可以防止你在不想重载时而意外的进行了载。

3.final关键字

(1)final数据
编译期常量必须是基本数据类型,并且以final关键字表示,对常量定义的时候,必须对其进行赋值;对对象引用加以final关键字,会时引用恒定不变,一旦引用被初始化指向一个对象,就无法再把它指向另一个对象;按照惯例,既是static又是final的域(编译期常量)将用大写表示,并使用下划线分割每个单词。
Java允许在参数列表中以声明的方式将参数指明为final,这意味你可以读参数,但却无法修改参数,这一特性主要用来向匿名内部类传递数据。
(2)final方法
使用final方法的原因有两个:防止方法被覆写和效率问题,而后者正渐渐地受到劝阻,在使用Java SE5/6时,应该让编译器和jvm去处理效率问题。
(3)final类
当不希望一个类有子类时,可以将其设置为final类,由于final类禁止继承,所以final类中所有的方法都隐式的指定为final的。

二、Polymorphism 

1.upcast

对象既可以作为它自己本身的类型使用,也可以作为它的基类型使用,而这种把某个对象的引用视为其基类型的应用的做法被称作向上转型。Java中除了static和final方法之外,其他所有的方法都是后期绑定,一旦知道这个事实后我们就可以编写只与基类打交道的代码了。

2.downcast

向上转型是安全的。向下转型时,在Java中,所有的转型都会得到检查,所以我们要做的只是进行一次普通的加括号形式的类型转换,以确保它的确是我们希望的类型,若不是,就会返回ClassCastException,这种在运行期间对类型进行检查的行为称作"运行时类型识别(RTTI)"。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值