Java中final与继承操作实例分析

 更新时间:2019年09月18日 09:53:01   作者: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程序设计有所帮助。

相关文章

  • Java调用第三方接口封装实现

    Java调用第三方接口封装实现

    本文主要介绍了Java调用第三方接口封装实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • SpringBoot参数校验:@Valid与@Validated使用详解

    SpringBoot参数校验:@Valid与@Validated使用详解

    这篇文章主要介绍了SpringBoot参数校验:@Valid与@Validated使用详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • 详解如何在Java中重写equals()和hashCode()方法

    详解如何在Java中重写equals()和hashCode()方法

    在 Java 中,equals() 和 hashCode() 方法是 Object 类中定义的重要方法,它们用于比较对象的相等性以及计算对象的哈希值,本文将详细介绍如何在 Java 中重写 equals() 和 hashCode() 方法,并讨论其最佳实践,需要的朋友可以参考下
    2024-08-08
  • Spring 实现给Bean属性注入null值

    Spring 实现给Bean属性注入null值

    这篇文章主要介绍了Spring 实现给Bean属性注入null值的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • 据说这个是可以撸到2089年的idea2020.2(推荐)

    据说这个是可以撸到2089年的idea2020.2(推荐)

    这篇文章主要介绍了据说这个是可以撸到2089年的idea2020.2,本教程给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Java之SpringBoot定时任务案例讲解

    Java之SpringBoot定时任务案例讲解

    这篇文章主要介绍了Java之SpringBoot定时任务案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Java 对 Cookie增删改查的实现示例

    Java 对 Cookie增删改查的实现示例

    这篇文章主要介绍了Java 对 Cookie增删改查的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Java流操作之数据流实例代码

    Java流操作之数据流实例代码

    这篇文章主要介绍了Java流操作之数据流实例代码,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Java装饰者模式的示例详解

    Java装饰者模式的示例详解

    装饰者模式:在不改变原有对象的基础之上,动态的将功能附加到对象上,提供了继承更有弹性的替代方案,也体现了开闭原则。本文将通过示例详细讲解一下装饰者模式,需要的可以参考一下
    2022-02-02
  • Java实现猜数字小游戏(有次数限制)

    Java实现猜数字小游戏(有次数限制)

    这篇文章主要为大家详细介绍了Java实现猜数字小游戏,有次数限制,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05

最新评论