Java访问控制

Java权限修饰符有public,protected,private,下面就来熟悉一下他们的作用范围。

                    类内部     同一包     子类      任何地方
        private      Yes
        default      Yes        Yes
        protected    Yes        Yes      Yes
        public       Yes        Yes      Yes         Yes

对于类的修饰符只能用public和default

default类只可以被同一个包内部的类访问。

注意被protected修饰的属性在同一个包内的,在子类中可以被访问,但是不在一个包内的,即无法被访问。

代码说明上面的protected的用法:

package com.jack.dao;


class B extends Test{
    public static void main(String[] args) {
        Test t = new Test();
        //此时在子类中父类的对象可以访问其protected属性
        System.out.println(t.a);
        B b = new B();
        System.out.println(b.a);
    }
}
public class Test{
    protected int a = 1;
    int b = 2;
    int get(){
        return 1;
    }
    public static void main(String[] args) {
        Test t = new Test();
        System.out.println(t.a);
    }
}
package com.jack.test;
import com.jack.dao.Test;
class Test1 extends Test{
    public static void main(String[] args) {
        Test1 t1 = new Test1();
        Test t = new Test();
        System.out.println(t1.a);
        //下面这条语句是错误的,此时父类中的对象无法访问其中的protected属性,因为已经不在一个包里面了   
        System.out.println(t.a);
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值