方法重写概述及其应用
•方法重写是指子父类出现了一模一样的方法
•重写这个概念只是存在子类和父类中
方法重写的应用
•当子类需要父类的功能,而子类有自己特有内容时,可以重写父类中的方法。这样,即沿袭了父类的功能,又定义了子类特有的内容。
动物都会走,但走的方式不同
class test
{
public static void main (String[] args)
{
dog d = new dog();
d.walk();
chiken c = new chiken();
c.walk();
}
}
class animal{
public void walk(){};
}
class dog extends animal{
public void walk(){
System.out.println("狗四条腿走");
}
}
class chiken extends animal{
public void walk(){
System.out.println("鸡两条腿走");
}
}
方法重写的注意事项
父类中私有方法不能被重写,因为父类私有方法子类根本就无法继承
子类重写父类方法时,访问权限最好就一致
方法重写重载的面试题
Overload能改变返回值类型吗?
①overload是指方法重载,重载可以改变返回值类型,方法的重载只看参数列表不同
Override重写和Overload重载的区别?
①Override是指方法重写,也就是子类中出现了和父类中方法声明一模一样的方法。
②方法的重写是与返回值类型有关,返回值是一致(或者是子父类)的
③方法重载:本类中出现的方法名一样,参数列表不同的方法。与返回值类型无关。
方法重载:
class test
{
public static void main (String[] args)
{
Animal dog = new Animal();
dog.walk(4);
Animal fish = new Animal();
fish.walk("不会走");
}
}
class Animal {
public void walk(int legs){
System.out.println("我有" + legs + "条腿");
}
public void walk(String s){
System.out.println(s);
}
}
final关键字修饰类,方法以及变量的特点
final修饰特点
①修饰类,类不能被继承,相当于做了丁克
②修饰变量,变量就变成了常量,只能被赋值一次
③修饰方法,方法不能被重写
●修饰变量
①final修饰变量叫做常量,一般会与public static共用
②常量命名规范