温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java中如何使用Final类和Fianl方法

发布时间:2021-08-18 11:22:44 来源:亿速云 阅读:121 作者:小新 栏目:编程语言

这篇文章主要为大家展示了“Java中如何使用Final类和Fianl方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java中如何使用Final类和Fianl方法”这篇文章吧。

Final类

当关键字final用来修饰类时,其含义是该类不能再派生子类,换句话说,任何其他类都不能继承用final修饰的类,即使该类的访问权限为pubilc类型,也不能被继承;否则,将编译报错。

只有当需要确保类中的方法都不被重写时才应该建立最终(final)类,final关键字将会为这些方法提供安全,没有任何人能够重写final类中的方法,因为不能继承。

例:

package chapeter04;
 
final class Father { }
 
public class Sample3_13 extends Father
{
	public static void main(String[] args)
	{
		
	}
}

报错:

Java中如何使用Final类和Fianl方法

可以看出,编译找不到Father类。

Final方法

当关键字final修饰方法后,该方法在子类中将无法重写,只能继承,例:

package chapeter04;
 
 
class Father
{
	public final void show()
	{
		System.out.println("我是final方法,可以被继承,但是不能被重写");
	}
}
 
class Son extends Father { }
 
public class Sample4_15
{
	public static void main(String[] args) 
	{
		// TODO Auto-generated method stub
		Son s= new Son();
		s.show();
	}
 
}

运行结果:

Java中如何使用Final类和Fianl方法

可以看出,代码正常编译运行,final的方法show被成功继承。但是若图将final的方法在子类中重写,将会编译报错:

class Son extends Father 
{
 public void show()
 {
  System.out.println("重写Final方法");
 }
}

Java中如何使用Final类和Fianl方法

可以看出final的方法不能被继承。

要恰当使用final方法,只有在子类覆盖某个方法会带来问题时,再将此方法设置为final方法,一般情况下不必使用。因为防止子类覆盖会丢失一些面向对象的优点,包括通过覆盖实现的可扩展性。

以上是“Java中如何使用Final类和Fianl方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI