浏览 4686 次
锁定老帖子 主题:一个方法重写的问题
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-06-14
public SupClass() { } public void print(){ System.out.print("sup"); } } 2、public class SubClass extends SupClass{ public SubClass() { } protected void print(){ System.out.print("sub"); } public static void main(String[] args){ SubClass subClass=new SubClass(); subClass.print(); } } 答案 A、编译通不过; B、编译能通过,运行报错; c、打印出sup; d、打印出sub; 我选了 A,面试官说D;回来专门测试了下,的确编译通不过,提示: "SubClass.java": print() in com.SubClass cannot override print() in com.SupClass; attempting to assign weaker access privileges; was public at line 6, column 5 这种情况怎么办? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-06-14
子类如果要重写父类的方法,那么子类作用域不能小于父类,也就是说如果父类是public,那么子类必须是public,不能是别的,这样就做到了在调用父类的地方都能调用子类,如果子类的修饰符不是public,那么就会有问题。
比如: SupClass sup = new SupClass(); sup.print(); sup = new SubClass(); sup.print(); 按照继承关系,SubClass是SupClass的子类,那么可以调用父类print方法的地方都可以调用子类的print。如果修饰符不是public,那么上面这个代码就不能运行,也就违背继承原则,父类就不是子类的一个子集。 |
|
返回顶楼 | |
发表时间:2008-06-14
wolfbrood 写道 子类如果要重写父类的方法,那么子类作用域不能小于父类,也就是说如果父类是public,那么子类必须是public,不能是别的,这样就做到了在调用父类的地方都能调用子类,如果子类的修饰符不是public,那么就会有问题。
比如: SupClass sup = new SupClass(); sup.print(); sup = new SubClass(); sup.print(); 按照继承关系,SubClass是SupClass的子类,那么可以调用父类print方法的地方都可以调用子类的print。如果修饰符不是public,那么上面这个代码就不能运行,也就违背继承原则,父类就不是子类的一个子集。 楼主问的应该是:笔试的时候,我答对了,但考官搞错了,怎么办? 那考官自己的基础都不好,你还在乎这家公司、在乎这次面试么?我觉得找一个好的技术团队很重要,工资、公司大小之类的都是次要的。 |
|
返回顶楼 | |
发表时间:2008-06-14
深秋小雨 写道 wolfbrood 写道 子类如果要重写父类的方法,那么子类作用域不能小于父类,也就是说如果父类是public,那么子类必须是public,不能是别的,这样就做到了在调用父类的地方都能调用子类,如果子类的修饰符不是public,那么就会有问题。
比如: SupClass sup = new SupClass(); sup.print(); sup = new SubClass(); sup.print(); 按照继承关系,SubClass是SupClass的子类,那么可以调用父类print方法的地方都可以调用子类的print。如果修饰符不是public,那么上面这个代码就不能运行,也就违背继承原则,父类就不是子类的一个子集。 楼主问的应该是:笔试的时候,我答对了,但考官搞错了,怎么办? 那考官自己的基础都不好,你还在乎这家公司、在乎这次面试么?我觉得找一个好的技术团队很重要,工资、公司大小之类的都是次要的。 面试完了之后就别管那么多了,继续做自己的事。想多了也没用。好比有人和我说java里面不用声明变量就可以直接用,好比javascript,我当时就无语。 |
|
返回顶楼 | |
发表时间:2008-06-14
后来发了份邮件过去,去提这事,真的要挂,也不能不明不白!
|
|
返回顶楼 | |
发表时间:2008-06-14
看你对这家公司是否在意
技术面试的面试官技术都不咋样 进去就怕被穿小鞋 |
|
返回顶楼 | |
发表时间:2008-06-15
面你的人基础很糟糕
|
|
返回顶楼 | |
发表时间:2008-06-16
- -~!看开点吧~,就算你面试通过了,你也要想想要是这面试官是你同事,你工作会怎样?虽然面试题实际运用中不多,但至少说明了这公司面试题准备不充分吧.
难道还有BT的?故意出错,看谁指出他的错误?然后录取?(- -~!应该没这么BT) |
|
返回顶楼 | |