方法的重写
//重写都是方法的重写,和属性无关 public class B { public void test(){ System.out.println("B=>test()"); } }
public class A extends B { //Override 重写的意思 @Override//注解:有功能的注释 public void test() { System.out.println("A=>test"); } }
import com.sun.jmx.snmp.SnmpUnknownAccContrModelException; import com.xiaoming.oop.XM05.A; import com.xiaoming.oop.XM05.B; import com.xiaoming.oop.XM05.Student; //静态方法与非静态方法区别很大 //非静态 可以选择重写 public class Application { public static void main(String[] args) { //方法的调用之和左边的类型有关 //也就是定义的数据有 A a =new A(); a.test();//A类的方法 //父类的引用指向了子类 B b = new A();//子类重写了父类的方法 b.test();//b类的方法 } }
super 注意点 1.super 调用父类的构造方法,必须在构造方法的第一个 2.super 必须出现在子类的方法或者构造方法中 3.super 和 shis 不能同时调用构造方法 super VS this 代表的对象不同 this本身调用者这个对象 super代表父类对象的应用 前提 this 没有继承也可以使用 super 只能在继承条件才能使用 构造方法 this();本类的构造 super();父类的构造 重写:需要有继承关系 子类重写父类的方法 1. 方法名必须相同 2.参数列表必须相同 3.修饰符 范围可以扩大 public-Protected-Default-private 4.抛出的异常:范围 可以被缩小 但不能扩大 ClassNotDoundExeption---Exception(大) 重写 子类的方法和父类必须要一致 但方法体不同 为什么需要重写? 父类的功能子类不一定需要 或者不一定满足 快捷键 ALT+INSERT overide;
.