Java中的方法重写

08.12_面向对象(继承中成员方法关系)(掌握)

  • A:案例演示
    • a:不同名的方法
    • b:同名的方法(子类与父类方法重名,实际上就是重写)
class Demo7_Extends {
	public static void main(String[] args) {
		Son s = new Son();
		s.print();
		s.method();
	}
}

class Father {
	public void print() {
		System.out.println("Fu print");
	}
}

class Son extends Father {
	public void method() {
		System.out.println("Zi Method");
	}

	public void print() {
		super.print();							//super可以调用父类的成员方法
		System.out.println("Zi print");
	}
}

总结:

  • 子类中有与父类中相同的方法,当用子类实例化对象的时候,调用此方法是执行子类中的方法,如果想执行父类的方法可以在子类方法中加super.语句。

08.13_面向对象(方法重写概述及其应用)(掌握)

  • A:什么是方法重写
    • 重写:子父类出现了一模一样的方法(注意:返回值类型可以是子父类,这个我们学完面向对象讲)
  • B:方法重写的应用:
    • 当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法。这样,即沿袭了父类的功能,又定义了子类特有的内容。
  • C:案例演示
    • a:定义一个手机类。

08.14_面向对象(方法重写的注意事项)(掌握)

  • A:方法重写注意事项
    • a:父类中私有方法不能被重写

      • 因为父类私有方法子类根本就无法继承
    • b:子类重写父类方法时,访问权限不能更低

      • 最好就一致
    • c:父类静态方法,子类也必须通过静态方法进行重写

      • 其实这个算不上方法重写,但是现象确实如此,至于为什么算不上方法重写,多态中我会讲解(静态只能覆盖静态)
    • 子类重写父类方法的时候,最好声明一模一样。

  • B:案例演示
    • 方法重写注意事项

08.15_面向对象(方法重写的面试题)(掌握)

  • A:方法重写的面试题
    • Override和Overload的区别?Overload能改变返回值类型吗?

    • overload可以改变返回值类型,只看参数列表

    • 方法重写:子类中出现了和父类中方法声明一模一样的方法。与返回值类型有关,返回值是一致(或者是子父类)的

    • 方法重载:本类中出现的方法名一样,参数列表不同的方法。与返回值类型无关。

    • 子类对象调用方法的时候:

      • 先找子类本身,再找父类。

猜你喜欢

转载自blog.csdn.net/weixin_43502415/article/details/89423218
今日推荐