A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. class  Fu
  2. {
  3.         public int a;
  4.         public int b;
  5.         public void Fu(){
  6.                         System.out.println("a"+a);
  7.                         System.out.println("b*****"+b);
  8.         }
  9. }       
  10. class Zi1 extends Fu
  11. {
  12.         public int a = 10;
  13.         public int b = 12;
  14.         public void Zi1(){
  15.                         System.out.println("a------"+a);
  16.                         System.out.println(" b------"+b);
  17.         }
  18.         public static void main(String [] args){

  19.                         new Zi1();
  20.                         Zi1.Zi1();
  21.        
  22.         }
  23. }
复制代码
代码如下:

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

5 个回复

倒序浏览
new Zi1();

Zi1.Zi1();    你这Zi1  到底是想用类名调用呢 还是对象呢?  对象new了 个匿名的 不直接调用  方法  又用类名调用  
      要么 new Zi1().Zi1()    还有 就是尽量不要把方法名首字母也大写    你这方法名和类名完全一样 阅读性极差
     要么 就不Zi1 方法搞成静态的  用类名可以直接调用  直接调用方法名也行

回复 使用道具 举报
子类和父类中方法中,方法名和构造函数一样,因此会出错。因此可以改一下父类和子类的方法名,不能和构造函数相同。
回复 使用道具 举报
贠(yun)靖 发表于 2012-4-10 11:46
new Zi1();

Zi1.Zi1();    你这Zi1  到底是想用类名调用呢 还是对象呢?  对象new了 个匿名的 不直接调用 ...

:dizzy:敲了一上午。敲晕了都,Zi1是构造函数。。。
回复 使用道具 举报
贠(yun)靖 发表于 2012-4-10 11:46
new Zi1();

Zi1.Zi1();    你这Zi1  到底是想用类名调用呢 还是对象呢?  对象new了 个匿名的 不直接调用 ...

本来想用这句new Zi1();创建一个对象让程序输出  a 和b 的值,结果编译通过了,运行时没有结果。。。
回复 使用道具 举报
又犯迷糊了,构造函数不需要定义返回值类型。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马