多态,继承

来源:互联网 发布:少年心气 知乎 编辑:程序博客网 时间:2024/05/19 15:41
package PloyDemo;public class SuperClass {public static int a = 1;public int b = 2;// 父类普通方法public void SuperMehod() {System.out.println("SuperClass");}// 静态方法public static void SuperMethodS() {System.out.println("父类静态方法");}public SuperClass() {System.out.println("父类构造");}public SuperClass(int x) {System.out.println("有参构造");}public void Super() {System.out.println("没有重写");}}package PloyDemo;public class SubClass extends SuperClass {/* * 什么是多态:是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。 * 多态的好处:减少代码量,消除类之间的耦合关系 * A extends SuperClass ,B extends Superclass * Superclass c=null;(new 是运行时才确定,也就只能确定c调用的哪个方法) *c=new A();--> c.method(); * c=new B();--> c.method(); */public  int a=4;public static int b=5;//静态方法public static void SuperMethodS(){System.out.println("子类静态方法");}@Overridepublic void SuperMehod() {System.out.println("SubClass");}public void SuperMehod(int a) {System.out.println(a);}public static void main(String[] args) {SuperClass c = new SubClass();//(父类构造)先调用父类构造,在调用子类//若父类无无参构造保错// (编译类型) (运行类型)c.SuperMehod();//(SubClass) 重写了父类方法,先调用子类c.SuperMethodS();//1//如果子类写了与父类一样的静态变量和方法,还是调用父类(静态不存在多态)System.out.println(SubClass.b);//(6) 子类静态变量只能通过类名去调用System.out.println(c.a);//1c.Super();//(没有重写)没重写的父类方法,父类有则调用父类System.out.println(c.b);//2}}

原创粉丝点击