protected修饰符讲解、java中继承的特点-java se进阶 day01

1.protected权限修饰符的介绍

之前在说权限修饰符时候,没有细说protected,今天,我们就来聊聊protected
如图,protected修饰符中,“不同包的子类”是我们要理解的

我们在不同的包下创建一个Fu类和一个Zi类,然后在Zi类的同一个包中创建一个test类

Zi类继承Fu类,然后test不继承,仅用于测试

在test类里,创建Zi对象,发现无法调用Zi继承到的Fu类的show方法

这是因为,Fu类和test类属于无关类,show方法被protected修饰,最远范围也只能在不同包下的子类进行调用,在test里面调用超出了范围

所以,“不同包下的子类”就是指只能在Zi类范围里调用被protected修饰的成员,超出Zi类范围的地方都不行

如图,我们先在Zi范围里写了一个method,method再调用show就不会报错,然后如果想在其他地方调用show方法,就必须通过method方法来调用

我们会发现protected使用起来十分麻烦,而在现实编程,protected用的也很少,大部分使用的是public和private

2.java中继承的特点

支持单继承,而不支持多继承就是说一个类只能继承一个类,而不能同时继承多个类。

很好理解,一个人只能有一个亲爸,不可能有多个亲爸

java中不支持多继承的原因是防止程序逻辑混乱,假如支持多继承


两个父类中都有method方法,并且各自给出的逻辑都不同,这时,程序就无法判断该使用哪一个父类给出的method方法

支持多层继承就是说,A类继承B,B类继承C,可以理解为爷爷、爸爸、孙子

如图,B继承了A,而C又继承了B,所以A是爷爷,B是爸爸,C是孙子

c调用method方法,A与B属于子父类,所以B中的method方法就把A的method

方法重写,此时c调用的就是B重写的method方法,不会有逻辑错误

posted @ 2024-12-25 16:15  直実  阅读(80)  评论(0)    收藏  举报