FS370 2019-04-25 20:25 采纳率: 0%
浏览 554
已结题

关于多态属性的调用问题

  • class Fu{
  • int num=4;
  • void show(){
  • System.out.println("showFu");
  • }
  • }
  • class Zi extends Fu{
  • int num = 5;
  • void show(){
  • System.out.println("showZi");
  • }
  • }
  • public class Test1{
  • public static void main(String[] args){
  • Fu f=new Zi();
  • Zi z=new Zi();
  •     System.out.println(f.num);     *请问这个为什么打出来是4
    
  •     System.out.println(z.num);
    
  •     f.show();
    
  •     z.show();
    
  • }
    
  • }

  • *

  • 写回答

2条回答 默认 最新

  • threenewbee 2019-04-25 23:53
    关注

    Fu f=new Zi();
    因为f是Fu类型,所以看不到Z的成员。
    如果是
    System.out.println(((Z)f).num);
    则输出5

    成员变量没有“覆盖”一说。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月7日

悬赏问题

  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程