美文网首页
Java访问权限详解

Java访问权限详解

作者: 沧海一束 | 来源:发表于2017-01-11 18:07 被阅读0次

    访问权限

    当用一个类创建了一个对象之后,该对象可以通过“.”运算符操作自己的变量、使用类中的方法,但对象操作自己的变量和使用类中的方法是有一定限制的。所谓访问权限是指对象是否可以通过“.”运算符操作自己的变量或通过“.”运算符使用类中的方法。

    访问限制修饰符有private、protected和public,都是Java的关键字,用来修饰成员变量或方法。

    私有变量和私有方法

    用关键字private修饰的成员变量和方法称为私有变量和私有方法。

    对于私有成员变量或方法,只有在本类中创建该类的对象时,这个对象才能访问自己的私有成员变量和类中的私有方法。

    class Tom {

    private float weight;

    private float f(float a,float b){

    return a+b;

    }

    }

    class Jerry {

    void g() {

    Tom cat=new Tom();

    cat.weight=23f; //非法

    float sum=cat.f(3,4); //非法

    }

    }

    共有变量和共有方法

    用public修饰的成员变量和方法被称为共有变量和共有方法 。

    我们在任何一个类中用类Tom创建了一个对象后,该对象能访问自己的public变量和类中的public方法(也可以通过类名来操作成员变量、方法) 。

    class Tom {

    public float weight;

    public float f(float a,float b) {

    return a+b;

    }

    }

    class Jerry {

    void g() {

    Tom cat=new Tom();

    cat.weight=23f; //合法

    float sum=cat.f(3,4); //合法

    }

    }

    受保护的变量和方法

    用protected修饰的成员变量和方法被称为受保护的成员变量和受保护的方法 。

    我们在任何一个类中用类Tom创建了一个对象后,如果这个类和类Tom在同一个包中,那么该对象能访问自己的protected变量和类中的protected方法。

    class Tom {

    protected float weight;

    protected float f(float a,float b) {

    return a+b;

    }

    }

    class Jerry {

    void g() {

    Tom cat=new Tom();

    cat.weight=23f; //合法

    float sum=cat.f(3,4); //合法

    }

    }

    友好变量和友好方法

    不用private、public、protected修饰的成员变量和方法被称为友好变量和友好方法。

    我们在任何一个类中用类Tom创建了一个对象后,如果这个类和类Tom在同一个包中,那么该对象能访问自己的友好变量和类中的友好方法。

    class Tom {

    float weight;

    float f(float a,float b) {

    return a+b;

    }

    }

    class Jerry {

    void g() {

    Tom cat=new Tom();

    cat.weight=23f; //合法

    float sum=cat.f(3,4); //合法

    }

    }

    Public类和友好类

    类声明时,如果在关键字class前面加上public关键字,就称这样的类是一个public类 。

    可以在任何另外一个类中,使用public类创建对象。

    如果一个类不加public修饰,这样的类被称作友好类。

    在另外一个类中使用友好类创建对象时,要保证它们是在同一包中。

    注:

    (1)不能用protected和private修饰类

    (2)访问限制修饰符按访问权限从高到低的排列顺序是:public、ptotected、友好的、private。

    原文链接:http://www.maiziedu.com/wiki/java/access/

    相关文章

      网友评论

          本文标题:Java访问权限详解

          本文链接:https://www.haomeiwen.com/subject/moprbttx.html