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是孙子

 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号