首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

final+满载+覆盖

2012-12-28 
final+重载+覆盖1.final修饰的方法不能被覆盖,否则会产生一个编译错误public class A {public final void

final+重载+覆盖
1.final修饰的方法不能被覆盖,否则会产生一个编译错误public class A { public final void print (){ System.out.print("aaa"); } }public class B extends A{ public final void print(){//会产生一个编译错误 System.out.print("bbb"); }}2.覆盖 需要方法名,参数列表以及顺序,返回值都一样, 并且要求抛出的异常也是一样的。但是参数的名字可以不一样。 即除了变量的名字可以不同外,其他的必要都一致。 另外,如果父类方法中没抛异常,子类中抛异常了,那么就会报一个编译错误。 public class A { public void print (String a) { System.out.print("aaa"); } }public class B extends A{public void print(String b)throws Exception{//此处会报一个错误 System.out.print("bbb"); }}当异常不同,其他的都一样的话,系统会认为这是个覆盖,但是抛出类型不匹配或不相等3.重载 方法名一样,参数列表顺序不一样或者参数类型不一样,但是返回值不同不管。 并且一个抛异常,一个不抛,不会认为是一个重载 public class A { public void print (String a) { System.out.print("aaa"); } public void print (String a)throws Exception { System.out.print("aaa"); } }

热点排行