5.什么是方法?方法的结构是怎样的?设计方法应考虑哪些因素?
方法是
java类的一个组成部分,通过类的方法改变对象的状态。
方法的结构:[方法修饰符] 返回值类型 方法名([形参列表])[throws异常列表]
{
方法体;
}
设计方法应考虑因素有:
(1) 方法名是
java中任意的标识符,按照命名的约定,方法名应该是有意义的动词或动词短语,它的第一个字母一般要小写,其他有意义的单词的首字母要大写,其余字母小写。
(2) 返回值类型可以是任意的
java类型,甚至可以是定义此方法的类。如果方法没有返回值,则用void表示。
(3) 形式参数列表是可选的。如果方法没有形式参数,就用一对小括号“()”表示。形式参数列表的形式如下: (类型 形参名,类型 形参名,……)
(4) throws异常列表规定了在方法执行中可能导致的异常。
6.什么是方法的覆盖? 与方法的重载有何不同?方法的覆盖与属性的隐藏有何不同?
子类重新定义父类中已经存在的方法,称为方法的覆盖。
方法重载指一个类中有多个方法享有相同的名字,但是这些方法的参数必须不同,或者是参数的个数不同,或者是参数类型不同。返回类型不能用来区分重载的方法。其实方法重载的最主要的作用就是实现同名的构造方法可以接受不同的参数。参数类型的区分度一定要足够,例如不能是同一简单类型的参数,如int与long。方法的重载不是子类对父类同名方法的重新定义,而是在一个类中定义了同名的不同方法。
方法覆盖与属性的隐藏不同:子类重新定义父类已有的域,并不能完全取代它从父类那里继承的同名的域,这个域仍然占用子类的
内存空间,在某些情况下会被使用;而当子类重新定义父类的方法时,从父类那里继承来的方法将被新方法完全取代,不再在子类的内存空间中占一席之地。