JR 精品文章 - Java 构造方法 问题
AD: jr (at) javaresearch.org


首页 | 动态 | 文章 | FAQ  | 新闻 | 下载 | 代码 | 工作 | 调查 | 术语 | 站点 | 图书 | 论坛 | 帮助 | 全部  

TOP | 交流 | 软件 | 专栏 | 开源 | 译/著 | 源码 | API  | 推荐 | FTP  | 积分 | 统计 | 搜索 | Blog | 我们  
首页 » 研究文集 » Java入门 搜索标题相关文章 搜索标题相关文章    评论此文章 发表评论     开始监控此文章 开始监控   加入收藏夹  加入收藏夹
Java 构造方法 问题
jameszhang 原创   更新:2006-05-31 21:13:44  版本: 1.0   

我自认为对java中的基础知识很熟,但最近被一个刚来的新手问了个问题,使我不得不拿起JDK的书重新阅读。

问题是这样的:

public class TestA
{
  public TestA(int a)
  {
  }
}

class TestB extends TestA
{
  public TestB()
  {

  }
}

上面的代码 错误 在于 那里? 实际解决这个问题很简单,

在 TestB 构造中 加 上   super(1);

或者 在 TestA 中加上 

public TestA()
  {
  }
也可以,但 为什么会这样?经过对 JDK的规范 查找 发现

编译器在编译子类的时候 会找 父类 构造 如果没有 会在子类构造的第一行
加上  super();
这样就会出现错误了,看看我们的例子,因为 构造 不能继承下来,TestA的
构造必须有参数,所以当TestB 的构造中会被 编译器 默认 加上super() 所以
代码检查的时候出错了,这种问题以前不太注意,没有深入考虑过,直到被人问道,
看来JDK的基础还要好好看看,呵呵

[han][han][han][han]

版权声明   给作者写信
本篇文章对您是否有帮助?  投票:         投票结果:     17       7
作者其它文章:
作者全部文章
评论人:fanjsp 发表时间: Mon May 29 19:34:44 CST 2006
[8I]
评论人:ifulm2 发表时间: Tue May 30 17:43:41 CST 2006
非常感谢啊!
评论人:ifulm2 发表时间: Tue May 30 17:44:43 CST 2006
非常感谢,Thanks!
评论人:liaoweijunlz 发表时间: Wed May 31 10:22:06 CST 2006
[:P]

这个文章共有 4 条评论
主题: EasyJF开源团队协同开发实用指南-SVN篇 上一篇文章
返回文章列表 返回〔Java入门〕
下一篇文章 主题: JDBMonitor日志输出探究(做executeBatch时发现一个BUG所引发的)


文字广告链接
        自主、快速定制基于JAVA的B/S业务系统          重量级企业在线自定义WEB报表平台
        Excel制表、零代码发布、打印、图表结合——快逸报表,免费、稳定、功能强大的java工具
        技术圈: 关于Java、dotNet、PHP、Ruby、奇客、Web2.0等更多资讯博客精选文章

关于 JR  |  版权声明  |  联系我们 

©2002-2006 JR 版权所有 沪ICP备05019622号