修饰符范围
public>protected>default>private
重写
Override
重写都是方法的重写,和属性无关。需要有继承关系,子类重写父类的方法!
-
方法名相同
-
参数列表相同
-
抛出的异常:范围可以缩小但不能扩大
static、final、private方法不能够重写
public class B{ public static void test(){ System.out.println("B"); } } public class A extends B{ public static void test(){ System.out.println("A"); } }
public class Application{ public static void main(String[] args){ A a=new A(); a.test();//输出A B b=new A();//父类的引用指向了子类 b.test();//输出B } }
静态方法的调用只和左边定义的数据类型有关。
public class B{ public void test(){ System.out.println("B"); } } public class A extends B{ public void test(){ System.out.println("A"); } }
public class Application{ public static void main(String[] args){ A a=new A(); a.test();//输出A B b=new A();//父类的引用指向了子类 b.test();//输出A } }
子类重写了父类的方法。
多态
多态是方法的多态,属性没有多态
存在条件:继承关系,方法需要重写,父类引用指向子类对象
Student s1= new Student(); Person s1= new Student();//父类的引用指向子类