黑马程序员技术交流社区

标题: 关于final修饰的方法 [打印本页]

作者: Zero霖    时间: 2014-3-5 22:41
标题: 关于final修饰的方法
请教各位前辈,用final修饰的方法不能被子类重写,但能被重载吗?

作者: 黄陂酷歌    时间: 2014-3-5 22:45
final表示最终的意思,它修饰的类是不能被继承的;final修饰的方法能被继承(Math类里就有),但是不能够被重写。其实关系并不复杂,你只需要记住这样一句话:final可用于声明属性、方法和类,分别表示属性不可变,方法不可重写,类不可继承。当然final修饰的方法是可以被重载的
作者: 三眼皮    时间: 2014-3-5 23:06
关于final只需要记住三句话就行,1、被定义成final的类不能派生子类2、被定义成final的方法不能够被重写 3、被声明为final的成员变量一经赋值就不能改变.还有就是可以用具体的代码实验一下。。。
final class Father
{
   public void run(int speed){System.out.println("速度是"+speed);}
}
class Son extends  Father
{
   public void run(int speed){System.out.println("速度是"+speed/2);}//方法的重写
}
class Son extends Father
{
   public void run(String place){System.out.println("在"+place“跑”);}//方法的重载
}
编译能通过就是可以,不能通过就是不行。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2