RT,见下面一段程序
package ch06;class Father { public final void test(){
System.out.println("父类中final方法 ");
}}public class Son extends Father{
public void test( int i){
System.out.println("子类中重写的test(int)方法 "+i);
}
public static void main(String[] args){
Son son=new Son();
son.test();//Father类中 test()方法为什么能够被继承呢?他不是final类型的吗,不可以继承;
son.test(100);//Son类中重载的test(int i)方法;
}
}
//////////
为何子类可以继承得到父类被声明为final类型的方法,书上说不可以,我一时迷惑了。各位,看看说说为什么?
package ch06;class Father { public final void test(){
System.out.println("父类中final方法 ");
}}public class Son extends Father{
public void test( int i){
System.out.println("子类中重写的test(int)方法 "+i);
}
public static void main(String[] args){
Son son=new Son();
son.test();//Father类中 test()方法为什么能够被继承呢?他不是final类型的吗,不可以继承;
son.test(100);//Son类中重载的test(int i)方法;
}
}
//////////
为何子类可以继承得到父类被声明为final类型的方法,书上说不可以,我一时迷惑了。各位,看看说说为什么?
解决方案 »
- 如何配置两个Filter
- 请教:Exception in thread "main" java.lang.NullPointerException at company.insertAe
- 急,如何log4j将INFO信息输出到AWT界面中的一个TEXTARWA中
- 菜鸟一小问 编译错误
- 跪求JAVA编写的俄罗斯方块游戏的论文或其资料!!!!!
- 为什么这个class在public class里面编译就不通过?
- 子类要使用父类中的private class可以怎么处理?
- [提问]如何用JTable实现类似(JdbTable和JdbTextField同步)的功能?
- 这是什么问题?在线等待
- 請問java可以編譯成.exe文件嗎?
- import 包 问题
- 使用Java实现对图像进行滤镜或模糊处理
现在这两个函数的形参明显是不一样的,所以根本就不是Overwrite,而是Overload(重载),重载肯定是可以的。
只是父类中的final方法不能被Overwrite(重写)而已。
答案是可以继承,但不可以被覆盖!哪本书告诉你不可以继承了?final方法是防止子类覆写修改,子类继承直接使用是可以的,建议楼主看thinking in java
System.out.println("父类中final方法 ");
}}public class Son extends Father{
public void test( int i){
System.out.println("子类中重写的test(int)方法 "+i);
}
public static void main(String[] args){
Son son=new Son();
son.test();
son.test(100);
}
}