JAVA类的继承、覆写和final关键字

extends不用多说,是来继承的关键字,但它有几个要点:

  1. java不允许多重继承(一个类只能继承一个父类,不能继承多个父类)
  2. 派生类会继承基类所有属性和方法,但不能直接访问基类的private私有属性
  3. 实例化派生类时,会先去调用父类的构造方法构造基类,再实例化自身的属性类对象,最后才是调用自身类构造方法.
  4. 在派生类中,有个隐藏的super,表示为基类,所以我们可以通过它指定如何构造基类

JAVA继承方法总结

重写方法的时候,要注意方法的权限,返回值,以及参数部分一致

class txxx
{public void func(int i){System.out.println("Parent::func()");}
}class Derived extends txxx
{public void func(int i)              //覆写父类的func方法{System.out.println("Derived::func()");}
}public class AT{public static void main(String args[]){Derived d = new Derived();d.func(1);}       
}

如果派生类覆写的基类方法是private的,则不能实现覆写功能,因为基类的private方法是不可见的,派生类覆写方法,一般用于基类的方法不满足当前派生类功能实现时,才会去覆写.

class Parent
{public void func(){System.out.println("Parent::func()");}public void print(){func();}
}class Derived extends Parent
{public void func()            //覆写父类的func方法{System.out.println("Derived::func()");}
}public class Test{public static void main(String args[]){Derived d = new Derived();d.print();}       }

如果将public void func()改为private void func()的话,则无法实现覆写

当在某个类的方法前面定义final时,则表示该方法不允许在子类里进行方法覆写(可以实现方法重载)

在java中,final被称为终结器, final可以修饰变量,方法和类.

class A {public final void fun() {}       //此方法不允许子类覆写public void fun(int i) {}        //可以实现方法重载
}class B extends A {public void fun() {}            // 错误:此处不允许覆写
}

就是有final了,你就不能在子类里面覆写了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348619.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot:使用Thymeleaf布局方言的Thymeleaf模板装饰器

介绍 在所有Thymeleaf模板上重用页眉和页脚的问题经常在StackOverflow上提出。 在本文中,我将向您展示如何使用Thymeleaf布局方言来结构化模板,以在Spring Boot应用程序中实现更高的代码可重用性。 创建一个Spring Boot应用程序 让我们使用Spring Initi…

猫、狗与Java的多态

多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。引用Charlie Calverts对多态的描述——多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术,赋值之后&#…

solr crud_Spring Data Solr教程:CRUD(差不多)

solr crud在我的Spring Data Solr教程的上一部分中,我们学习了如何配置Spring Data Solr。 现在该迈出一步,了解我们如何管理Solr实例中存储的信息。 此博客文章描述了我们如何向Solr索引添加新文档,如何更新现有文档的信息以及如何从索引中删…

子类覆盖父类(Java)

要求:尝试创建一个父类,在父类中创建两个方法,在子类中覆盖第二个方法,再为子类创建一个对象,将它向上转型并调用这个方法 由于Java里面没有虚函数,所以它的多态是可以被继承的 public class tyu{public …

在Java中进行输入验证时用错误通知替换异常

在我以前的文章中,我写了一个输入验证设计,该设计取代了难以维护和测试的 if-else块。 但是,正如某些读者指出的那样,它有一个缺点–如果输入数据有多个验证错误,则用户将不得不多次提交请求以查找所有错误。 从可用性…

Java构建子类对象时的顺序

先看一个这么的程序: //------------------------------------------------------------------------// //程序目的,创建一个父类与子类,分别创建构造方法 public abstract class usecase1 {abstract void testAbstract();usecase1(){//&…

关于Java中serialUID的序列化的问题

在我们平时处理JAVA类中的问题时,有时会碰见类似这样的一行代码: private static final long serialVersionUID 1L;这就是程序的序列化ID 所谓序列化,用一句通俗的话来说,就是将对象冻结了放入硬盘的过程,举一个例子…

java 绑定微信号开发_Java开发中的常见危险信号

java 绑定微信号开发在开发,阅读,复审和维护成千上万行Java代码的几年中,我已经习惯于看到Java代码中的某些“ 危险信号 ”,这些信号通常(但可能并非总是)暗示着代码有问题。 我不是在谈论总是错误的做法&a…

使用绝对布局的方法创建一个登录密码验证的简易窗口

绝对布局是指直接采用坐标指定的方式在容器中创建窗口,这种方式比较灵活 采用这种方法创建布局的方式主要有以下几步: 使用Container.setLayout(null)的方式取消布局管理器使用Compon.setBounds()的方式来设置每个组件的大小 下面先上代码 import ja…

Neo4j:Cypher –属性值只能是原始类型或其数组

本周初,当我尝试在我认为要共享的节点上创建数组属性时,遇到了一个有趣的Cypher错误消息。 这是我写的Cypher查询: CREATE (:Person {id: [1, "mark", 2.0]})导致此错误: Neo.ClientError.Statement.TypeError Prope…

通信工程制图期末考试大纲

通信工程建设的三个阶段 初步设计、技术设计、施工图设计 通信工程建设的参与方 1、建设单位:是建设工程的投资人,也称“业主"。 2、勘察单位:是指已通过建设行政主管部门的资质审查,从事工程测量、水文地质和岩土工程等工…

锁相环锁相原理简洁版

锁相环锁相原理 1.没有参考信号输入的时候,环路滤波器的输出为一个固定值,这是的VCO按照其固定的频率进行震荡 2.当有参考信号输入时,Ur和Uv同时加到鉴相器来鉴相,如果鉴相器fr和fv差别不大的话,这两个电压做差&#…

古诺模型_再见了古诺。 你好Drools工作台。

古诺模型Drools 6.0发生了许多变化。 随着功能和功能的更改,我们对Guvnor github存储库进行了重组,以更好地反映我们的新架构。 历史上,Guvnor一直是Drools的Web应用程序。 它由Drools专用的编辑器,后端存储库和简化的资产管理系统…

八千字复习一下天线与电磁波

1. 空间坐标系 空间直角坐标系(常用)极坐标系平面直角坐标系距离矢量就是空间向量坐标单位矢量就是给距离矢量xyz底下分别除以模长梯度就是xyz求偏导,记得写 ex⃗\vec{e_{x}}ex​​/ey⃗\vec{e_{y}}ey​​/ez⃗\vec{e_{z}}ez​​,最后方程左…

Apache Fluo:填充Google搜索索引的Percolator的实现

Apache Fluo是Apache Accumulo [3]的Percolator [2](填充Google的搜索索引)的开源实现 。 使用Fluo,用户可以将新数据连续地合并到大型现有数据集中,而无需重新处理所有数据。 与批处理和流传输框架不同,Fluo提供了低得…

最通俗的语言讲解卷积码、码树图、状态图以及维特比译码

什么是卷积码? 卷积码是由伊利亚斯发明的一种非分组码,它更加倾向于纠错,对于实际的性能优于分组码,运算较为简单。 将卷积码记为(n,k,N),码率定义为k/n n是n个比特 k是k个信息位 N是N个信息段 卷积码编码器 组成&#xff1a…

通信系统的同步技术归纳

载波同步:在相干解调时,接收端的解调器要产生一个与接收到的载波同频同相的相干载波位同步:接收端产生一个与接收信号符号速率相同,相位与最佳判决时刻一致的定时脉冲序列信号群同步:群同步是指在接收端产生与“字、句…

c语言 在txt文件中搜索关键词_网络推广外包—网络推广外包如何在搜索引擎中体现关键词优化效果...

在当下的互联网时代中,没有企业愿意远离这种流量获取快、用户需求大、宣传推广能力见效快的搜索引擎,况且通过互联网的帮助下,企业网站能够通过搜索引擎进行关键词优化后获取更多的转化率,增加企业交易额度的提升,谁又…

Spring JPA数据+Hibernate+ MySQL + Maven

在Spring MVC的帮助下开发Web应用程序意味着要创建几个逻辑架构层。 层之一是DAO(存储库)层。 它负责与数据库进行通信。 如果您至少开发了DAO层一次,则应该知道它涉及许多样板代码。 Spring Data本身就是与DAO相关的日常工作的一部分。 在帖…

数字通信系统中的均衡技术

均衡技术是为了消除码间串扰的影响 自适应均衡器 可以自动调整抽头滤波系数的均衡器。包含两个工作模式,训练模式和跟踪模式; 训练模式:发射机发射一个已知的定长的序列,以便接收机处的均衡器可以做出正确的设置跟踪模式&#…