Java中的方法及方法的重载与重写
方法
定义:定义在类中的具有特定功能的独立的小程序;
方法的好处:
1、提高了代价的复用性;
2、可以简化书写;
格式:
访问修饰符 修饰符 返回值类型 方法名(参数类型 参数名称,……){
功能代码;
return 返回值;
}
定义方法的时候有两个需要明确:
1、方法的返回值类型,如果方法不需要有返回值,那么返回值的类型为void;
2、需要明确参数;
注意:
1、方法以运行return语句作为结束。如果方法没有返回值,return语句可以省略不写;
2、方法中不可以再定义方法;
方法的重载
定义:在同一个类中,可以定义多个方法名一致,但参数的数据类型或参数的个数不同的方法,这样的多个方法就叫做方法的重载;
注意:
1、方法的重载与方法的返回值类型无关;
2、方法的参数列表顺序不同,也是方法的重载;
方法的重写
定义:子类中的方法与父类中继承的方法有完全相同的返回值类型、方法名、参数个数以及参数类型。这样,就可以实现对父类方法的覆盖;
注意:
1、父类方法的参数列表必须完全与被子类重写的方法的参数列表相同,否则不能称其为重写而是重载;
2、父类的返回类型必须与被子类重写的方法返回类型相同,否则不能称其为重写而是重载;
3、Java中规定,被子类重写的方法不能拥有比父类方法更加严格的访问权限;
总结
方法的重载和重写:
重载 - 方法名相同,参数列表不同(个数或类型不同)的方法,称之为重载;
重写 - 在子类中,有和父类中同方法名,同参数列表,同返回值类型的成员方法;称之为重写;
注:重写过程中,子类中方法的访问限制符必须大于等于父类中方法的访问限制符;
private < default < protected < public
当父类引用指向子类对象时:Father s = new Son();
调用的方法是谁的方法,取决于对象的类型,而不是引用的类型;
调用的属性是谁的属性,取决于引用的类型,而不是对象的类型;
在工作中,不建议在父类和子类中定义同名的属性;