java面向对象--继承

继承快速入门

什么是继承呢?

Java中提供了一个关键字extends,用这个关键字,可以让一个类和另一个类建立起父子关系。

继承的特点

子类能继承父类的非私有成员(成员变量、成员方法)。

继承后对象的创建

子类的对象是由子类、父类共同完成的。

带继承关系的类,Java会怎么创建它的对象?对象创建出来后,可以直接访问哪些成员?

1、带继承关系的类,java会用类和其父类,这多张设计图来一起创建类的对象。

2、对象能直接访问什么成员,是由子父类这多张设计图共同决定的,这多张设计圈对外暴露了什么成员,对象就可以访问什么成员。

使用继承有啥好处?

减少了重复代码的编写,提高了代码的复用性。


继承相关的注意事项

权限修饰符

什么是权限修饰符?

就是是用来限制类中的成员(成员变量、成员方法、构造器、代码块..)能够被访问的范围。

权限修饰符有几种?各自的作用是什么?

继承相关的两个注意事项?

① Java是单继承的:一个类只能继承一个直接父类;Java中的类不支持多继承,但是支持多层继承。

②) 0bject类是Java中所有类的祖宗。

方法重写

什么是方法重写?

1、当子类觉得父类中的某个方法不好用,或者无法满足自己的需求时,子类可以重写一个方法名称参数列表一样的方法,去覆盖父类的这个方法,这就是方法重写。

2、注意:重写后,方法的访问,Java会遵循就近原则。

方法重写的其它注意事项

1、重写小技巧:使用Override注解,他可以指定java编译器,检查我们方法重写的格式是否正确,代码可读性也会更好。
2、子类重写父类方法时,访问权限必须大于或者等于父类该方法的权限(public>protected>缺省)。
3、重写的方法返回值类型,必须与被重写方法的返回值类型一样,或者范围更小。
4、私有方法、静态方法不能被重写,如果重写会报错的。

子类中访问其他成员的特点

在子类方法中访问其他成员(成员变量、成员方法),是依照就近原则的。

1、先子类局部范围找。
2、然后子类成员范围找。
3、然后父类成员范围找,如果父类范围还没有找到则报错。

如果子父类中,出现了重名的成员,会优先使用子类的,如果此时一定要在子类中使用父类的怎么办?

可以通过super关键字,指定访问父类的成员 : super.父类成员变量/父类成员方法

子类构造器的特点

子类的全部构造器,都会先调用父类的构造器,再执行自己。

子类构造器是如何实现调用父类构造器的:

1、它会调用父类的无参数构造器默认情况下,子类全部构造器的第一行代码都是 super()(写不写都有),它会调用父类的无参数构造器。

2、如果父类没有无参数构造器,则我们必须在子类构造器的第一行手写super(.),指定去调用父类的有参数构造器

其他注意事项

super(...)调用父类有参数构造器的常见应用场景是什么?

为对象中包含父类这部分的成员变量进行赋值。

this(...)的作用是什么?

在构造器中调用本类的其他构造器。

this(...)和super(...)的使用需要注意什么?

都必须放在构造器的第一行。

PS:有补充的可以在评论区帮忙补充一下,谢谢!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值