Java中protect的非同包子类为什么可以访问?该怎么访问?

解释一下protect的非同包子类为什么可以访问?该怎么访问?

如果父类的属性访问权限为protect时,同包子类继承时该属性权限仍旧是protect;但是非同包子类继承时权限会降级为private

故只能本类访问

父类Father

package com.qf.demo;

public  class Father {
    protected int age=35;
}

同包子类

package com.qf.demo;

public class SamePackageSon extends Father{
        public void fun(){
            System.out.println(age);//继承自Father的age,访问权限为protect
        }
}

同胞类

package com.qf.demo;
​
public class Main {
    public static void main(String[] args) {
        Father father=new Father();
        System.out.println(father.age);//访问权限protect
​
        SamePackageSon samePackageSon=new SamePackageSon();
        System.out.println(samePackageSon.age);访问权限protect
    }
}

非同子类

package com.qf.demo1;
​
import com.qf.demo.Father;
​
public class DifferentPackagesSon extends Father {
    public void fun(){
        System.out.println(age);//继承自不同包com.qf.demo.Father的age   访问权限降级为为:private
    }
}

非同胞类

package com.qf.demo1;
​
import com.qf.demo.Father;
​
public class Main {
    public static void main(String[] args) {
        Father father=new Father();
//        System.out.println(father.age);protected,非同包不可访问
        
        DifferentPackagesSon differentPackagesSon=new DifferentPackagesSon();
//        System.out.println(differentPackagesSon.age);访问权限为:private  (已降级)
​
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值