Java继承多态总结。及this,static,super的用法。

继承

  1. 只有单继承,除了构造器全部继承。子类是特殊的父类。
person ps = new men(); //此时构造器可以直接把子类转成父类;
  1. 子类可以直接赋值给父类,父类要通过强转成子类,运用instanceof进行检测。
men mn = (men) new person();  //父类需要强转成子类;

多态

  1. 多态出现在编译时类型和运行时类型不同的时候。
person ps = new men();
  1. 成员变量无多态。成员方法执行运行时类型。
ps.name  //此时执行的是父类的name;

ps.study();  //此时调用重写父类的子类方法;

this

  1. 默认this调用成员变量和成员方法,隐含this。
    此时的this代表了当前类。
String na = name;  //相当于 String na = this.name;

fly();  //相当于this.fly();
  1. 用于区分同名的局部变量和成员变量。
name = naem;  //相当于this.name = name;

static

  1. 用于定义静态变量和静态函数。又称类变量、方法。
    通过类名调用static定义的变量、方法。

  2. 在类(静态)方法中不可调用非静态(实例)变量、方法。
    但是实例(非静态)方法中可以调用static的变量、方法。

  3. 他们各自的生命周期也和类、实例的生命周期相同。
    通过类调用类方法,通过实例调用实例方法。

super

  1. 用于在子类中调用父类的成员变量和成员方法。
    前提是父类中定义的变量,方法的权限是protect以上。
public void testfly() {
        System.out.println("在这里可以调用父类");
        super.fly();  //通过super调用被覆写的函数;
        System.out.println("子类在这里可以调用" + super.name);
        //通过super调用父类的对象。
    }

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42445650/article/details/88804739
今日推荐