Java 继承 - 草稿

继承:多各类有共同的成员边来那个和成员方法,抽取到另一个类中,在让多各类去继承这个类,我们的多个类就可以获取到父类中的成员

继承的特点:

只支持单一继承,只能继承一个父类,在不同父类中可能存在相同的方法,子类无法得知使用哪个方法,产生错误

Java语言支持多层继承

子类只能获取父类非私有成员

就近原则:子父类成员变量或成员方法名字一样,应该选择子类的。

如果有局部变量就使用局部变量。

如果没有局部变量,有子类的成员变量就使用子类的成员变量

没有局部变量和子类的成员变量,有父类的成员变量就使用父类的成员变量

super:可以获取父类的成员边来那个和成员方法

方法的重载:在一个类中,有多个重名的方法,但是其参数不一样(参数的个数、参数的类型、参数的顺序),和返回值无关

方法的重写:在子父类中,子类的方法和父类的完全一样,当子类重写了父类的方法之后,使用子类对象调用的就是子类的方法。

方法重写的应用场景:的那个父类的方法不能完全满足子类使用,这时候子类重写父类方法,并可以在方法中使用关键字super调用父类的方法,这样做可以保有父类的功能,也可以拥有子类特有的功能

方法重写的注意事项:

不能重写父类私有的方法

权限必须大于等于父类方法的权限

注解:@一般写在方法上面、类上面或者变量上面,用来描述类或者方法,注解的底层还是代码

@Override 描述这个类重写了父类的方法,当在重写的时候加上注解,可以发现重写的错误。等于加上重写的规范。

继承中构造方法的执行顺序:

在有子父类继承关系的类中,创建子类的对象,调用子类的构造。如果子类构造方法的第一行代码没有调用父类的构造发那个发啊,则会默认的调用父类的无参构造。

肯定会执行父类的构造,因为要先给父类的成员变量进行初始化,子类可能会使用到

当第一行有this 或者 super时,不会调用子类的无参构造函数,但是在子类的构造函数中一定存在一个构造函数没有调用super、this

this和super的区别:

this:当前对象的引用

    调用在子类的成员变量和成员方法

    在子类的构造方法第一行调用子类其他构造方法

super:子类对象的父类引用

  调用父类的成员方法和成员变量

  调用父类的构造方法

注意:当this.num中子类num成员,如果父类有那么,调用的是父类的num成员

继承的优缺点:

优点: 提高代码的复用性和可维护性

缺点:类的耦合性,子父类关系紧密,当父类修改子类可能出错。

继承是多态的前提之一。

你可能感兴趣的:(Java 继承 - 草稿)