← 返回文章流

Java面向对象编程——继承

什么是继承 Java中提供了一个关键字extends,用这个关键字,可以让一个类和另一个类建立起父子关系。 继承的特点 子类能继承父类的非私有成员变量和成员方法。 继承后对象的创建 子类的对象是由子类、父类共同完成的。 继承相关的注意事项 权限修饰符 什么是权限修饰符? 用来限制类中的成员(成员变量、成员方法、构造器、代码块…)能够被访问的范围 权限修饰符有几种与各自的作用 修饰符 在本类中 同一个包下的其他类 任意包下的子类 任意包下的任意类 private √ 缺省 √ √ protected √ √ √ public √ √ √ √ provate < 缺省 < protected < public 单继承 Java是继承的,Java中的类不支持多继承,但是支持多层继承。 Object类 Ojbect类是所有Java类的父类,任何类都是Object的子类。 方法重写 什么是方法重写 当子类发现父类中的方法无法满足自己的需求时,子类可以重写一个方法名称、参数列表一样的方法去覆盖父类的这个方法,这就是方法重写。 注意:方法重写后,方法的访问遵循就近原则。 方法重写的注意事项 重写时使用Override注解,他可以指定Java编译器,检查我们方法重写的格式是否正确,代码可读性也会更好。 子类重写父类方法时,访问权限必须大于或等于父类该方法的权限(public > protected > 缺省)。 重写的方法返回值类型,必须与被重写方法的返回值类型一样,或者范围更小。 私有方法、静态方法不能被重写,如果重写会报错。 方法重写在开发中的常见应用场景 子类重写Object类的toString()方法,以便返回对象的内容。 子类中访问其他成员的特点 在子类方法中访问其他成员是按照就近原则的。 先子类局部范围找。 然后子类成员范围找。 然后父类成员找 然后父类成员范围找,如果父类范围还没有找到则报错。 如果子父类中,出现了重名的成员,会优先使用子类的,如果此时一定要在子类中使用父类的方法怎么办? 可以通过super关键字,指定访问父类的成员:super.父类成员变量/父类成员方法 子类构造器的特点 子类的全部构造器,都会先调用父类的构造器,再执行自己。 子类构造器是如何实现调用父类构造器的: 默认情况下,子类全部构造器的第一行代码是super();(写不写都有),他会调用父类的无参数构造器。 如果父类没有无参数构造器,我们必须在子类构造器的第一行手写super();,指定去调用父类的构造器。

来自 映屿作者主页
在原博客阅读全文 (新标签页打开)

以上内容来自博客订阅源,版权归原作者。关注作者后可以在 关注列表 第一时间查看作者文章。

一起聊聊 0

尊重不同观点

还没有评论。欢迎分享第一个想法。

RSS SUBSCRIPTIONS

选择 RSS 订阅

把博客汇的文章添加到你常用的阅读器。

关注文章 RSS 订阅本订阅需要登录后使用