public,private,protected,以及不写时的区别

作用域public,private,protected,以及不写时的区别

这四个作用域的可见范围如下表所示。

说明:如果在修饰的元素上面没有写任何访问修饰符,则表示friendly。不使用关键字默认为包内使用。

作用域    当前类 同一package 子孙类 其他package

public    √     √          √       √

protected  √     √        √      ×

friendly   √     √          ×      ×

private    √     ×          ×      ×

备注:只要记住了有4种访问权限,4个访问范围,然后将全选和范围在水平和垂直方向上分别按排从小到大或从大到小的顺序排列,就很容易画出上面的图了。

例子:应用场景

1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用,在程序的任何其它地方访问。

2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。和public相反,加上这个修饰的属性和方法,只允许在自己本身这个类里访问,程序的任何其它地方都不能访问

3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。受保护的,位于public和private中间,加上这个修饰的属性和方法,只能在子类(extends)和同包下的程序访问,别的的地方不能访问。

4.default(默认):同一包中的类可以访问,声明时没有加修饰符,认为是friendly。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-07-30 08:31:51

public,private,protected,以及不写时的区别的相关文章

java作用域public ,private ,protected 及不写时的区别

作用域 当前类 同一package 子孙类 其他package public       √ √ √ √ protected √ √ √ × friendly     √ √ × × private     √ × × × 不写时默认为friendly

[转]java中作用域public private protected 以及不写的区别

在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes,认为都是自己的朋友. 1.public:public表明该数据成员.成员函数是对所有用户开放的,所有用户都可以直接进行调用 2.private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用. 3.protected:pro

访问修饰符public,private,protected,以及不写(默认)时的区别?

答: 修饰符 当前类 同包 子类 其他包public    √   √    √   √protected   √  √    √  ×default  √  √    ×  ×private  √  ×    ×  × 类的成员不写访问修饰时默认为default.默认对于同一个包中的其他类相当于公开(public),对于不是同一个包中的其他类相当于私有(private).受保护(protected)对子类相当于公开,对不是同一包中的没有父子关系的类相当于私有.Java中,外部类的修饰符只能是p

java作用域public protected private,以及不写时的区别

下面我简单的画一张表来说明问题: modifiers 作用域(可见) 当前类 同包 子孙类 其他包 public √  √  √   √ protected  √  √  √ × default(friendly)  √  √ × × private  √ × × × 不写的时候默认为friendly  也就是default默认的.

002、访问修饰符public,private,protected,以及不写(默认)时的区别

类的成员不写访问修饰时默认为default.默认对于同一个包中的其他类相当于公开(public),对于不是同一个包中的其他类相当于私有(private).受保护(protected)对子类相当于公开,对不是同一包中的没有父子关系的类相当于私有. 总结如下表 原文地址:https://www.cnblogs.com/TomJay/p/9571202.html

Java修饰符public private protected和default(friendly)之间的区别

对于public修饰符,它具有最大的访问权限,可以访问任何一个在CLASSPATH下的类.接口.异常等.它往往用于对外的情况,也就是对象或类对外的一种接口的形式. 对于protected修饰符,它主要的作用就是用来保护子类的.它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西. 对于default来说,有点的时候也成为friendly(友员),它是针对本包访问而设计的,任何处于本包下的类.接口.异常等,都可以相互访问,即使是父类没有用protected修饰的成员

说出作用域public,private,protected,以及不写时的区别

这四个作用域的可见范围如下表所示. 说明:如果在修饰的元素上面没有写任何访问修饰符,则表示friendly. 作用域    当前类   同一package   子孙类 其他package public         √       √        √       √ protected   √       √        √       × friendly       √       √        ×       × private        √       ×        ×

如何区别java中的public,private,protected

在java语言中我们描述一个类或者一个方法,经常会用到public,private,protected三个关键字,还有一种就是默认的访问权限,即什么都不写. 首先我们介绍public关键字,从字面意义上出发,public意为公共的,可见它的访问权限是很宽松的,是大家所公有的. public的访问权限是最松的,它可以在同一个包内访问,也可以在不同包内访问,它表示紧随其后的元素对任何人都是可用的,   然后就是private,从字面上看,它的意思是私有,可见它的访问权限是比较严格的. 它表示除类型创

php class中public,private,protected的区别,以及实例

一,public,private,protected的区别 public:权限是最大的,可以内部调用,实例调用等. protected: 受保护类型,用于本类和继承类调用. private: 私有类型,只有在本类中使用. 二,实例 查看复制打印? <?php error_reporting(E_ALL); class test{ public $public; private $private; protected $protected; static $instance; public fun