• 访问权限


    public ,protected,friendly,private

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

    class Tom{

    private float weight;//weight是private的float型变量

    private float f(float a,float b)//方法f是private方法

    {

    return a+b;

    }

    }

    当在另一个类中用Tom创建一个对象后,该对象不能访问自己的私有变量和私有方法

    列如:

    class Jerry

    {

    void g(){

    Tom cat =new Tom();

    cat.weight=23f;//非法

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

    }

    }

    如果Tom类中的某个成员是私有类变量(静态成员变量),那么在另一个类中也不能通过类名Tom来操作这个私有类变量。如果Tom类中的某个方法是私有的类方法,那么在另一个类中也不能通过类名Tom来调用这个私有的类方法。

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

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

    列如:class Tom

    {

    public float weight;//weight是public的float型变量

    public float f(float a,float b)//方法f是public方法

    {return a+b;}

    }

    当任何一个类中用Tom创建一个对象后,该对象能访问自己的public变量和类中public方法

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

    列如:class Tom

    {protected float weight;//weight是protected的float型变量

    protected float f(float a,float b)//方法f是protected方法

    {return a+b;

    }

    当在另外一个类中用Tom类创建了一个对象后,如果这个类与Tom在同一个包中或者这个类是Tom的子类,那么该对象能访问自己的protected变量和protected方法。在任何一个与Tom同一包中的类中,也可以通过Tom类的类名访问Tom类的protected类变量和protected类方法

    }

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

    列如:

    class Tom{

    float weight;//weight是友好的float型变量

    float f(float a,float b)//方法f是友好方法

    {return a+b;

    }

    }

    当在另外一个类中用类Tom创建了一个对象后,如果这个类与Tom类在同一个包中,那么该对象能访问自己的友好变量和友好方法。在任何一个与Tom在同一个包中的类中,都可以通过Tom类的类名访问Tom类的类友好成员变量和类友好方法。

    5.public类与友好类

    1.public类:public class A{....}

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

    2,友好类:一个类不加public修饰,如:classA{...};

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

    总结:1.不能用protected和private修饰类

            2.访问限制修饰符按访问权限从高到低的排列顺序是:public ,protected(同一包中的类,子类),friendly(同一包中的类),private

    如果有来生,要做一片树叶。 春天恋上枝,炎夏恋上水。 深秋恋上土,东来化作泥。 润物细无声,生生世世恋红尘。
  • 相关阅读:
    【转载】Python tips: 什么是*args和**kwargs?
    Python关于File学习过程
    tensorflow训练中出现nan
    axis调用Web服务报axis unexpected wrapper element{XXXX}XXX错误的解决
    微信小程序windowHeight的值在ios和android平台不一致问题解决办法
    微信小程序scroll-view滚动一次多次触发的问题解决方案
    微信小程序自定义TabBar
    微信小程序页面列表与详情页跳转的正确姿势
    Spring动态获取已注入的对象的方法
    MAVEN项目不扫描mybatis的mapper.xml问题
  • 原文地址:https://www.cnblogs.com/shujiying/p/4783225.html
Copyright © 2020-2023  润新知