Java小白学习指南【day10】---Java三大特性之一继承

1、继承

是将一些共有的属性与方法提取出来成为一个类,其他的类通过继承父类的方法或属性,提高代码的复用性。

extends表示继承,子类继承后,方法的调用或者变量的产看会先在自己的类中寻找,如果没有,会在父类寻找,如果在Object中还未找到,则会报错。

可以继承的东西包括:公共可访问的成员变量、普通方法、静态方法;私有的成员不能被继承,但是可以通过其他间接的方式或者反射来调用

构造方法不能被继承,但是存在隐式的调用

继承的关系:1、单继承:一个子类只能有一个直接父类

2、多重继承:子类还能有子类

3、如果一个类没有显示的继承,则存在隐式的继承Object类。Object是类中的亚当

2、方法重写

存在于父子类中,当父类的方法不能满足子类需求,则可以在子类中对同名的方法进行重写,可以加@Override进行注解

注意:在重写是java提供了一个注解,@Override,是帮助jvm理解代码

1、方法重写的时候,子类的访问修饰符必须大于或者等于父类的访问修饰符

2、方法名必须保持一致

3、方法重写时,返回值类型父类的返回值类型要大于或者等于子类的返回值类型

4、形参列表完全一致(类型,个数,顺序)

静态方法不能够被重写,因为有static修饰的jvm会优先加载,在类加载的时候就加载了

类比方法重载:同一个类中

1、形参列表不一致(类型,个数,顺序)

2、方法名相同

3、与返回值无关

3、super

指向的是父类的地址

super:指向父类的地址,但是不会创建父类的对象

1、在创建子类对象时,会存在隐式的调用,调用父类的无参构造

super();调用必须放在子类构造方法的第一句,如果有显示的调用,隐式调用将不存在

2、super可以调用父类公共可访问的方法或者属性,子类中使用父类的成员时 super.调用

4、抽象类

由abstract修饰

可以抽象的内容:抽象方法、成员变量、普通方法、静态方法、构造方法(不能直接创建对象 如果要访问成员 可以使用子类的对象)

抽象方法:没有方法体,并且由abstract修饰,只能存在于抽象类中,如果一个类继承了抽象类,就必须重写抽象类中抽象方法

方法重载Overloading与方法重写Overriding的区别:

相同点:方法名都必须保持相同

不同点:

1、存在位置不同:重载是在同一个类中;重写是在继承关系的子类中

2、参数列表(类型,个数,顺序):重载的参数列表可以不同;重写的参数列表必须一致

3、返回值类型:重载与返回值类型无关;重写时子类的返回值类型要小于父类

4、修饰符:重载与修饰无关;重写时子类的修饰符权限不小于父类的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值