1、重载与重写的定义是什么,二者有何区别?
2、编译器通过方法的哪些部分来辨认方法是否为同一方法?
3、由哪个关键字修饰的类不能被继承,String类能被继承么?
4、下面哪些定义会发生编译错误,为什么? abstract final String getName(){.....} abstract static int getAge(){.....} abstract final class Hello{......} class Hello{abstract void print();} abstract Hello{abstract final void print();} abstract Hello{abstract static void print();}
5、抽象类中必须要存在抽象方法么,抽象类可以被实例化么?
6、一个类继承抽象类之后可不可以不实现它的抽象方法?
2、编译器通过方法的哪些部分来辨认方法是否为同一方法?
3、由哪个关键字修饰的类不能被继承,String类能被继承么?
4、下面哪些定义会发生编译错误,为什么? abstract final String getName(){.....} abstract static int getAge(){.....} abstract final class Hello{......} class Hello{abstract void print();} abstract Hello{abstract final void print();} abstract Hello{abstract static void print();}
5、抽象类中必须要存在抽象方法么,抽象类可以被实例化么?
6、一个类继承抽象类之后可不可以不实现它的抽象方法?
overload的方法签名完全不同,不能参数列表相同,返回值不同。
2 方法签名
3 final 修饰类 final class, String不能被继承
4
5 否,否
6 不实现也成为一个抽象类
重写:子类继承父类,在子类中,重写把父类中的某个函数进行重新写一遍,变成自雷自己的函数
2、方法的签名,是辨别的方式,准确的讲,是一个table表,里面包含了方法的注册信息
3、被final修饰的类不能继承
String不能被继承
4、abstract final String getName(){.....}
abstract final class Hello{......}
abstract Hello{abstract final void print();}
以上3个错误
5、抽象类中,不一定含有抽象方法
抽象类,不可以被实现
6、若不是抽象类,则要实现;否则,可以不实现
------------------------
请楼下同志在回答时,自觉动手,禁止抄袭 。 抄袭者,鄙视你,鄙视 ...
重写:是子类继承父类后,子类中有一个方法与父类的方法的结构完全一样,那么父类的那个方法就全被覆盖
2、编译器是通过方法的方法名称、方法的参数列表来判断方法为同一方法(这与重载定义相反)
3、用final(终态)关键字来定义一个类之后,该类不能被继承、同时,String类不能被继承就是因为其为
final型的
4、abstract final String getName(){.....} abstract 与 final 二选一,不能共存
abstract final class Hello{......} abstract 与 final 二选一,不能共存
class Hello{abstract void print();} 只有抽象类才能拥有抽象方法
abstract Hello{abstract final void print();} 类中的方法把abstract final去掉
abstract Hello{abstract static void print();} 把static去掉
5、抽象类中可以没有抽象方法、抽象类不能被实例化
6、一个类继承抽象方法后,必须实现抽象类的所有抽象方法