super、this、抽象类、继承
阅读原文时间:2023年07月08日阅读:1

super

代表是父类对象,并且在创建子类对象时,就先创建父类对象,再创建子类对象,可以在子类方法中使用super调用父类的非私有方法。

this

代表本类对象,谁创建就代表谁

实体类,被创建的class类
public class Animal {
    private String name;
    private Integer id;
    public void getAddress(){
    //输出this地址
        System.out.println("Animal---->this-->"+this);
    }
}
main类,主动创建对象
public static void main(String[] args) {
        Animal animal=new Animal();
        animal.getAddress();
    //输出被创建对象的引用地址
        System.out.println("main---->this-->"+animal);
    }
结果
Animal---->this-->com.example.demo.entity.Animal@f39991
main---->this-->com.example.demo.entity.Animal@f39991

可以看出两个地址一样

抽象类

定义

就是子类继承父类的属性和行为,使得子类对象具有与父类相同的属性、相同的行为。子类可以直接访问父类中的非私有的属性和行为。

好处

1:提高了代码的重用性

2:类与类产生了关系,是多态的前提

注意事项

1:抽象类有构造方法,但是必须依靠子类才能创建对象,所以只能单继承,

2:创建对象后,对象地址调用方法或者调用成员变量都会优先查找子类,子类没有,再查找父类,this和super关键字除外。

接口

定义

接口,是Java语言中一种引用类型,是方法的集合。

好处

1:定义一套标准

注意事项

1:包含抽象方法(JDK7及以前),默认方法和静态方法(JDK8),私有方法(JDK9),

2:接口没有构造方法,因此可以多实现。