访问权限——访问限制修饰符private、protected和public的理解(java初学)

访问权限:

首先我们要知道什么是访问权限,当一个类创建了一个对象,这个对象就可以通过“.”运算符来操作自己的变量和使用类中的方法,而访问权限就是说类能否通过“.”访问自己的变量或操作类中的方法。总的来说访问限制修饰符有三种:private、protected和public,以下会详细介绍区别。

先给总结的图,看完图后文字应该更好理解:

(1)私有变量和私有方法(private):

private修饰的成员变量和方法称为私有变量和私有方法,当你在另外一个类中创建了一个对象,这个对象不能访问自己的私有变量和私有方法,如:

class Example{
    private float weight;//weight 是私有变量
    private float f(float a,float b){//方法f是私有方法
    ...    
    }
}
class Example1{
    void g(){
        Example sugerman=new Example();
        sugerman.weight=222f;//不合法
        sugerman.f(9f,9f);//也不合法
    }
}

所以很显然,private修饰的成员变量作用域只有当前类。对于私有变量或者方法,只有在本类中创建该类的对象时,这个对象才能访问自己的私有成员变量和类中的私有方法。如:

class Example{
    private int height;
    private void chickenJiao(){
    System.out.println("身高"+height+"厉不厉害你坤哥"+"你干嘛哈哈哎哟!");   
    }
    public static void main(String args[]){
        Example cxk = new Example();
        cxk.height=2000;
        cxk.chickenJiao();

    }
}

运行结果:

(2)共有变量和共有方法(public)

这应该是我们最常见的访问限制修饰符了,用public修饰的成员变量和方法被称为共有变量和共有方法。这个应该大家都很清楚,例子就不举了,总之就是在任何一个类中创建一个对象,都可以通过这个对象访问public变量和对象所属这个类中的public方法。

(3)友好变量和有好方法

简单来说就是不用private、public、protected修饰符修饰的成员变量和方法被称为友好变量和友好方法,也就是默认的修饰类型。除去子孙类以外和protected类似都是同一个包可以访问,不同包不允许访问。

(4)受保护的成员变量和方法(protected)

protected修饰的成员变量和方法被称为受保护的成员变量和受保护的方法,这个理解也很简单,假设A类有一个成员变量a1受保护,你在B类中创建一个A类对象,如果B和A是一个package中的类那么你是可以通过这个新的对象访问a1,否则不可以。

在子类中protected和友好的之间在继承方面有区别,在另一篇子类继承中会讲到。

(5)public类与友好类( 这里是类上面都是方法和变量)

简而言之类声明class前加上public关键字就是public类,不加就是友好类。可以在任何另外一个类中使用public类创建的对象,友好类的对象要在另一个类中使用则需要保证他们在同一个包中。

Attentions:1、不能用protected和private修饰类。

2、访问限制修饰符访问权限从高到低排序的顺序是public、protected、友好的、private。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值