public、protected、private访问权限修饰词(原创)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cuicanxingchen123456/article/details/82464082

1.private: 被private修饰的只能是同一个类的可以访问,跨类都不行。(如果构造器被声明成了private,则不可以通过new来新建一个对象,可以使用static的方法返回一个new对象)

2.什么也不加的默认是包访问控制权限:只有同一个包下的可以调用,跨包的类无法加载不是同一个包下的类(除非那个类加上public)。

             包test1

                  public class A

                  class  B

             包test2

                   public class  C  无法调用B

3.protected:主要是为了对继承的类开放,没继承的类不开放

    public class demo4 {

        protected void method(){

            System.out.println("test");

         }

    }

public class demo5 extends demo4{

    @Override

    protected void method() {

        super.method();

     }

 }

class demo6{

    public void met(){

       demo4 demo=new demo4();

        // demo.method();

    }

 }

4.设定访问权限是为了防止一些源码被客户端程序员修改。所以被设定为private的语句,客户端程序员是无法访问到的,设定成protected的语句,客户端程序员只有在继承那个类之后才能访问到,不继承的话无法访问到。客户端程序员可以访问所有的public修饰的语句,对于默认不加修饰词的语句,默认是包权限,只有在同一个包下才可以访问,不在一个包下不允许访问。

猜你喜欢

转载自blog.csdn.net/cuicanxingchen123456/article/details/82464082