1. 在Java中将一个字类对象赋值给父类变量是合法的,这也是实现多态(即方法的动态分派)的前提条件之一。

2. 在Java中父类赋值同样也适用于数组。可以将一个子类数组赋值给一个父类数组变量。但可能会出现如下的问题:

son[] sons = new son[10];
father[] fathers = sons;
fathers[0] = new father();

上面的代码编译时没有报错,因为在father[]数组中存储father对象是合法的。但是,这里fathers和sons引用相同的son[]数组,它不能持有更上层的父类的对象。这个错误只能在运行期捕获,虚拟机会抛出ArrayStoreException异常。

转载于:https://www.cnblogs.com/liujinhong/p/6439224.html

Java中子类对象赋值给父类变量相关推荐

  1. 转:Java中子类是否可以继承父类的static变量和方法而呈现多态特性

    原文地址:Java中子类是否可以继承父类的static变量和方法而呈现多态特性 静态方法 通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法,关于static方法,声明 ...

  2. Java 中子类是否只继承父类的非私有变量和方法?

    今天在 CSDN 论坛中见到有人问在 Java 中子类是否只继承父类的非私有变量和方法(原贴在此).大部分跟贴都认为这句话是正确的,但是对于这个问题背后的本质理解却是错误的. 首先我们明确一下&quo ...

  3. 浅谈将子类对象赋值给父类对象

    最近对将子类对象赋值给父类对象有点心得,想和大家分享一下,但本人水平有限,请各位指正和批评.言归正传,下面是几个小例子,请大家看一看. 测试一 父类: public class Supclass {p ...

  4. java中super用来定义父类,定义子类必须使用的关键字是 在java中子类若要继承父类,需要使用的关键字是什么...

    java定义接口时需要使用的关键字是 定义接口复使用的关键字是"interface",中文意思"接口.解释:通常接口都是制为了定义百某些规范,而在接口中只定义了方法,而没 ...

  5. Java中ListE对象赋值问题(引用传递和值传递)

    Java中List<E>对象赋值操作问题 业务需求是:取2个集合中的交集对象并返回.如下代码,busMap中key值和stocks中Map中的key值相等的对象则返回继续操作,也就是说剔除 ...

  6. java中子类能否继承 重写父类的静态方法

    文章目录 1.疑问 子类能否继承父类的静态变量和静态方法 子类能否重写父类的静态方法 2. 原因 1.疑问 子类能否继承父类的静态变量和静态方法 首先,子类是可以继承父类的静态变量和静态方法的. cl ...

  7. 41_C++_试定义类 TR1(三角形)及其派生类 COL(三角柱体)其中三角形类可以计算三角形的面积和周长; 三角柱体类可以计算柱体的体积和表面积【难点:子类初始父类私有成员、子类对象赋值给父类】

    题目: 被卡住过的地方 1. 子类的有参构造,初始化父类的私有成员 TRI父类的有参构造TRI(double x1, double y1, double z1){x = x1;y = y1<

  8. 8-2:C++继承之父类和子类对象赋值转换(公有继承)也即切片

    父类和子类对象赋值转换(公有继承) - - - 父类和子类对象赋值转换是指:子类对象可以赋值给父类对象(父类的指针或引用也可以),而父类对象不能赋值给子类对象.也就Student一定是Person,但 ...

  9. java中子类怎样调用父类的属性_java的继承、重载(overload)、覆盖(override)的总结...

    java为了解决相似属性和行为能共用相同的代码,也是为了便于标准模块化.减少相同代码要多次重复编写的问题,提供了继承.重载和覆盖的功能.继承是针对类,重载和覆盖是针对方法的. 一.继承:为了便于理解. ...

最新文章

  1. [转]ASP.NET 核心模块配置参考
  2. vdsm的SSL证书验证过程
  3. 支付产品——收银台设计详解
  4. linux系统的层次结构,关于Linux操作系统层次结构分析
  5. mysql 页级锁写法_MYSQL中表级锁、行级锁、页级锁介绍
  6. 耳挂式蓝牙耳机原理_耳挂式蓝牙耳机项目总结分析报告
  7. 从零开始的FPGA学习(2)(用三八译码器实现一位全加器)
  8. HTML 字体 大小 颜色对照表
  9. vmware 克隆虚拟机的关键步骤
  10. linux centos7 docker 安装nginx 使用宿主机配置文件
  11. c语言编写坦克大战设计报告,c语言编写坦克大战源代码
  12. 股票全自动交易软件的风险有哪些?
  13. ASSICii字符表
  14. CVPR2021目标跟踪汇总(一)
  15. 全套Python零基础学习资料,电子书整理好了,想要进行技术提升,转行的自取!
  16. c# 单元测试nunit
  17. android中底部弹窗,Android实现从底部弹出的Dialog示例(一)
  18. TMC2660驱动及调试记录
  19. Xilinx FPGA平台GTX简易使用教程(三)GTX复位与初始化
  20. java httpclient cdn_通过FD耗尽实验谈谈使用HttpClient的正确姿势

热门文章

  1. 用数组来存储显示对象
  2. 关于pad、智能手机功能增进的设想
  3. Ogre1.7的地形、天空与雾
  4. CSDN-markdown编辑器技巧方法
  5. CISCO发现协议(CDP)理论与实验
  6. virtual box和vmware有什么区别吗_真发假发套与普通假发有什么区别吗?
  7. 华为鸿蒙原生app,华为鸿蒙开发者大赛颁奖典礼临近,鸿蒙原生应用来了
  8. 用for打印菱形java_Java 动态打印菱形代码之for循环的使用
  9. 使用jQuery Mobile快速开发手机站点
  10. linux下使用gpio控制代码,zynq linux 下控制gpio的c代码