Java中上转型和重写有什么区别

区别是:向上转型是对A的对象的方法的扩充,即A的对象可访问B从A中继承来的和B“重写”A的方法。子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。

Java中上转型和重写有什么区别-Worktile社区

向上转型

向上转型,JAVA中的一种调用方式。向上转型是对A的对象的方法的扩充,即A的对象可访问B从A中继承来的和B“重写”A的方法。

是JAVA中的一种调用方式:

class A{

void f(){}

void g(){}

}

class B extends A{

void g(){}

void i(){}

}

public class C{

public static void main(String[] args){

A a=new B(); //B自动向上转型为A的对象

}

}

向上转型并非是将B自动向上转型为A的对象,相反它是从另一种角度去理解向上两字的:它是对A的对象的方法的扩充,即A的对象可访问B从A中继承来的和B复写A的方法,B中的其它的方法都不能访问

方法重写

在Java和其他一些高级面向对象的编程语言中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。

方法的重写是指两个方法的返回值、方法名、参数的类型和个数相同(子类重写父类的方法)。

方法的重写,不能发生在同类中,只能发生在子类中。

若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。 如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。

方法重写的权限:子类中的权限大于或等于父类的权限,(修饰符高低:private < 默认修饰符<protected < public)

特殊情况:子类不能重写父类被声明为private权限的方法。

延伸阅读:

什么是Java

Java具有大部分编程语言所共有的一些特征,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的”形式和感觉”,但它要比C++语言更易于使用,而且在编程时彻底采用了一种”以对象为导向”的方式。使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。另外,Java还可以被用来编写容量很小的应用程序模块或者applet,做为网页的一部分使用。applet可使网页使用者和网页之间进行交互式操作。

Java是Sun微系统公司在1995年推出的,推出之后马上给互联网的交互式应用带来了新面貌。最常用的两种互联网浏览器软件中都包括一个Java虚拟机。几乎所有的操作系统中都增添了Java编译程序。

使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。另外,Java还可以被用来编写容量很小的应用程序模块或者applet,做为网页的一部分使用。applet可使网页使用者和网页之间进行交互式操作。

文章标题:Java中上转型和重写有什么区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37821

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月12日 下午4:33
下一篇 2023年2月12日 下午4:36

相关推荐

  • 卷积和内积的区别

    卷积和内积的区别涉及:1、定义;2、性质和条件;3、应用场景;4、计算方法;5、关系和互动;6、实际示例。卷积和内积是数学和信号处理中的两个基本概念,它们在形式和应用上存在明显的差异。 1、定义 卷积:对于两个函数f和g,卷积描述了一个新的函数,表示为f∗g,其定义为函数f和g的每一个点的加权和。 …

    2023年7月30日
    96500
  • 什么编程适合学生

    编程语言对学生来讲,选择Python、JavaScript、Java、C++和Scratch为最佳。 Python因其易学性和强大的社区支持,是学生遍布世界的首选编程语言之一。Python有简洁直观的语法,适合初学者理解编程概念。同时,它也广泛应用于科学计算、数据分析、人工智能等高需求领域,为学生提…

    2024年5月2日
    1500
  • 编程先后学什么

    编程学习路径一般遵循以下顺序:1、基础编程语言;2、数据结构与算法;3、项目实践。其中,基础编程语言是学习编程的第一步,它为后续深入学习打下坚实的基础。选择一门语言开始,如Python、Java或C++,并透彻理解其基本语法和概念。基础编程语言不仅仅是学习语法,更是学会通过编程思维来解决问题。这一阶…

    2024年5月2日
    1600
  • 什么工具可以编程

    编程工具中的主要设施包括1、集成开发环境(IDE)、2、代码编辑器、3、编译器、4、调试器等。以集成开发环境(IDE)为例,它是一个拥有多个编程工具的软件套件,大大简化了开发工作。IDE整合了文本编辑器、编译器、调试器等工具,并且拥有用户友好的图形界面。开发人员利用IDE可以在单个程序中编写、编译、…

    2024年5月2日
    1100
  • 软件项目管理用什么软件

    软件项目管理通常使用若干种专业化工具,具体取决于项目的需求、团队的偏好和组织的流程。常见的软件项目管理工具包括JIRA、Trello、Asana、Microsoft Project等。JIRA特别适合敏捷开发和问题追踪,它支持复杂的项目管理需求,包括迭代规划、工作流配置以及详尽的报告功能。其亮点为集…

    2024年1月8日
    24300
  • 学个什么编程语言好

    学习Python、JavaScript、Java是当下理想的选择。Python凭借其明确、易读的语法特点成为初学者的首选编程语言。在数据科学、人工智能、网络开发领域的应用极为广泛,它的入门门槛低,是一种高效的编程语言。具体来说,Python的标准库支持多种网络、文本处理和文件格式,而且具有大量的第三…

    2024年4月27日
    3600
  • 反卷积和上采样卷积的区别

    反卷积与上采样卷积的区别有:1、定义不同;2、操作过程;3、应用场景;4、效果;5、参数量;6、与下采样的关系。其中,定义不同是指反卷积是通过已知的输出和卷积核来估算原始输入,而上采样卷积是通过插值或学习得到的参数对输入进行放大。 1、定义不同 反卷积:也被称为转置卷积,是通过已知的输出和卷积核来估…

    2023年7月30日
    99200
  • 泛微协同oa

    标题:泛微协同OA的前景与挑战 摘要: 泛微协同OA系统作为办公自动化软件,主要实现了1、工作流程的数字化;2、信息共享的便捷性;3、提高工作效率;4、促进企业管理现代化。工作流程的数字化允许组织内各部门间的工作流转得到电子化管理,实现了流程的快速部署、跟踪与优化。尤其在当前数字化转型的背景下,泛微…

    2024年1月11日
    29900
  • 编程都用什么台式电脑配置

    高性能CPU、大容量内存、快速存储设备、专业级显卡这些是编程所需台式电脑的关键配置。在这些核心配置中,快速存储设备起着至关重要的作用,因为它直接影响到编译速度和程序的启动时间。通常,一个固态硬盘(SSD)会比传统的机械硬盘(HDD)提供更好的读写速度,从而为程序开发提供高效的数据处理性能。固态硬盘不…

    2024年4月27日
    4800
  • 推荐的编程类书籍是什么

    当我们面临着编程学习的旅程时,选择合适的书籍至关重要。顶级的编程书籍推荐包括:1、《代码大全》;2、《算法导论》;3、《设计模式:可复用面向对象软件的基础》;4、《你不知道的JavaScript》中所提供的深入见解可以极大地增强你的编程技能和理解。以《代码大全》为例,这本书涵盖了从代码编写到软件构建…

    2024年4月28日
    4000

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部