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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

关于构造方法是否可以被嵌套的的问题

遇到一个问题,急需求解!!

下面程序中,将引起编译器错误的行是?
A.第5行        B.第10行         C.第12行        D.第15行


  • public class Test8 {
  •     int m,n;
  •     public Test8() {
  •         // TODO Auto-generated constructor stub
  •         public Test8(int a) {
  •             m = a;
  •         }
  •         public static void main(String[] args) {
  •             // TODO Auto-generated method stub
  •             Test8 t1,t2;
  •             int j = 0,k = 0;
  •             t1 = new Test8();
  •             t2 = new Test8(j,k);
  •         }
  •     }
  • }
    答案是B,为什么呢,有些迷惑!求解答!

2 个回复

倒序浏览
题目是:引起编译器错误的行是?
         答:由于你的Test8 t1,t2;没初始化,使用变量前必须初始化。所以在第12行会发生编译出错,但是引起编译出错的肯定是10行啊,是不是没看清楚题还是没有理解题目意思呢?
回复 使用道具 举报
这是啥东东。。面试题么?我觉得这题略坑爹。

首先,方法都不可以嵌套定义,何谈构造方法嵌套?这个程序从第5行起就是错的,我试着编译了一下,也是从第5行就开始报错了。至于答案为什么是B,我只能说,这题出的有毛病,至少我的编译结果是第5行报错。

另外,只要知道方法不能嵌套定义就行了,从它第5行嵌套定义开始,就是错的。编译器报什么错,是编译器的问题,学java学得细点儿是好的,但是这样会拖慢学习进度的。我之前就是喜欢钻牛角尖儿,所以学得就好慢{:soso_e105:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马