Java中final与继承操作实例分析
作者:cakincqm
这篇文章主要介绍了Java中final与继承操作,结合实例形式分析了Java中使用final阻止继承的相关原理与操作注意事项,需要的朋友可以参考下
本文实例讲述了Java中final与继承操作。分享给大家供大家参考,具体如下:
一 点睛
final在Java中被称为终结器。
1 在基类的某个方法加了final,那么在子类中该方法被禁止二次“改造”。
2 通过在类的前面添加final关键字,便可以阻止基类被继承。
二 实战1——final标记的方法不能被子类覆写实例
1 代码
class Person { // 此方法声明为final不能被子类覆写 final public String talk() { return "Person:talk()" ; } } class Student extends Person { public String talk() { return "Student:talk()" ; } } public class TestFinalDemo { public static void main(String args[]) { Person S1 = new Student(); System.out.println(S1.talk()); } }
2 运行
3 说明
运行时发生了A JNI has occured错误,这里JNI指的是“Java Native interface(Java 本机接口)”。
三 实战2——用final继承的限制
1 代码
//定义被final修饰的父类 final class SuperClass { String name; int age; } //子类SubClass继承SuperClass class SubClass extends SuperClass { //do something } public class InheritRestrict { public static void main(String[] args) { SubClass subClass = new SubClass(); } }
2 运行
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The type SubClass cannot subclass the final class SuperClass
at SubClass.<init>(InheritRestrict.java:18)
at InheritRestrict.main(InheritRestrict.java:26)
更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。