2个程序的目的都是一样的,有点地方不知很明白。

java代码

class A
{
public void Fun()
{
System.out.println(1);
}
}

class B extends A
{

展开全部
收起
5回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 遥不可及

    17人对此回答表示赞同

    第一个是继承,第二个是直接调用的对象
    展开
    17
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Madison

    16人对此回答表示赞同

    因为 Printf 函数中的参数是 A 类
    所以它肯定 是定位到 A::Func()
    如果你想希望输出 2, C++中在A类和B类的函数前都加上 virtual , 表示这是虚函数, 虚函数会被派生类替换掉。
    展开
    16
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 陈港生

    9人对此回答表示赞同

    我知道,要告诉你吗?要的话就追问一下
    展开
    9
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Miroslavkk

    3人对此回答表示赞同

    应该是C++引用传递的原因。JAVA继承传参之后,调用的是类B的函数。多态的性质。
    C++代码中函数接受的是A的引用。对C++不太懂,最好查阅C++书籍里关于继承和多态的资料。
    展开
    3
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Cameron小帅哥

    3人对此回答表示赞同

    java:将子类对象实例赋给父类对象(可查阅:对象的上转型对象相关内容),如:A是B的父类,A a=new B(),此时对象a可以调用父类的属性,但调用子类重写的方法,不可以调用子类增加的方法。
    C++:这不是很肯定,大概方法Printf(A $a)要求参数类型是A类对象,参数b调用A类的引用,并调用Printf()里的方法
    展开
    3
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部