当前位置:  技术问答>java相关

问一个有关c++和java的区别的问题,疑惑

    来源: 互联网  发布时间:2015-09-23

    本文导语:  这一阵子又看了c++,发现一个问题,请学过的网友解答一下,谢谢 class father{   int x=1;   father(){}   void showInfo(){System.out.println("this is father!");}   //主方法略 } class son extends father{   int x=2;   son(){}   void sho...

这一阵子又看了c++,发现一个问题,请学过的网友解答一下,谢谢

class father{
  int x=1;
  father(){}
  void showInfo(){System.out.println("this is father!");}
  //主方法略
}
class son extends father{
  int x=2;
  son(){}
  void showInfo(){System.out.println("this is son!");}
}
在java中,如果在主方法中将子类的对象赋给父类:
son son1=new son();
father father1=son1;
father1.x应该还是1,而father1.showInfo()应该是子类的方法吧
但是,在c++中,我发现,father1.x还是1,但是father1.showInfo()也是父类的方法,结果是"this is father",而不是java中的"this is son",是不是机制不同呀,还是我搞错了?

|
hehe java虽然像c++,但是有一些默认的地方不同了
java中的类除非被final声明,否则可以被派生,而c++相反,必须声明virtual才行。
c++中可以定义纯虚函数,java中叫做接口,接口中不能存在内部变量一说。
...
不过总的来说我觉得java的这些改进和“显式”的一些调用要求还是很方便很清晰的。

|
在java中所有的方法都虚函数,而在c++只有指出virtual才是虚函数,所以在c++中father1.showInfo是调用的父类的方法,而在java中执行的是子类的方法

|
204126(204126) 说的对。你把C++中的showInfo()签署为virtual的。

|
说错了,应该是纯虚类--接口,sorry.

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求教有关smartupload的问题,有关就给分!!
  • 有关在sco unix5.0.4下有关网卡设置的问题(非常急,高分相送)
  • 有关snmp的一个很菜,但是困扰了我很久的问题,有关工作原理的,望大家赐教
  • 有关ResultSet的问题,帮助解决问题者另外加分...
  • (菜鸟问题)有关目录中文件执行的问题???
  • 有关Qt下编译的环境问题
  • 有关裁减内核及shell命令的问题
  • 有关cocoon的问题??
  • Helper! 有关Jbuilder使用问题???
  • 有关swing的问题,请高手回答
  • 一个有关分数的问题
  • 有关pcmaclan的打印机共享问题
  • 请教有关samba共享名大小写的问题
  • 想看一下吗?有关swing 组件的问题?
  • 有关L的问题(菜鸟求教)???
  • 有关jsp服务器的一个问题
  • java 进阶级问题,有关网络的问题,请多多帮助
  • 有关Liunx 的最低配置问题
  • 有关环境的问题
  • 请教有关konqueror 问题?
  • ​有关Docker的八个令人难以置信的事实
  • 有关内码转换(跟HttpServletRequest有关)
  • 求有关png图像处理的libpng库的有关中文资料
  • 大家推荐一下有关LINUX7有关的网络编程的书。最好是比较全面的!比较经典的。
  • 有关KDevelop-3.0.4-0.1.i386.rpm的有关软件包
  • 有关KDevelop编程的资料
  • 有关集群与数据同步
  • 请教有关英文简历方面的词句!
  • 有关报表打印(在JAVA,WEB下应用)急用!
  • 请各位大哥告知JAVA中消息机制的有关资料,拜托!
  • 有关jbuilder


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3