[Java]private, public,protected,friendly的区别(转载)一下子就记住了

http://teddyboy200382.blog.163.com/blog/static/320112002008825112549780/

说明这四个关键字之前,我想就 class 之间的关系做一个简单的定义,对于继承自己的 class , base class 可以认为他们都是自己的子女,而对于和自己一个目录下的 classes ,认为都是自己的朋友。

1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
 2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。
 3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。

4、friendly:不写时默认为friendly,friendly是友好的,对于朋友来说,可以自由使用,没有任何限制,而对于其他的外部class,即使是子女,都不可以使用。

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

public         √            √            √            √

protected   √            √            √            ×

friendly       √            √            ×            ×

private        √            ×             ×            ×

时间: 2024-08-25 22:17:45

[Java]private, public,protected,friendly的区别(转载)一下子就记住了的相关文章

再学Java 之 private、protected、public和default的作用域

前言:如果提到protected的访问控制级别,您的第一反应是"只能是子类才可以访问",那么您很可能需要往下看. 首先,大致介绍一下各个访问控制符的访问控制级别(具体的介绍很多大牛的博文都有介绍,我就不细说了,可以点击这里查看),如下图:   private default protected public 同一个类中 √ √ √ √ 同一个包中   √ √ √ 子类中     √ √ 全局范围内       √ 在这里,很多人都存在一个误区,就是,认为protected修饰的方法只能

public,protected,friendly,private的访问权限

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

public, protected, private,internal,protected internal的区别

虽然这个知识比较简单, 但是老是会忘, 写上来, 增强记忆. 在C#语言中,共有五种访问修饰符:public.private.protected.internal.protected internal.作用范围如下表: 访问修饰符 说明public 公有访问.不受任何限制.private 私有访问.只限于本类成员访问,子类,实例都不能访问.protected 保护访问.只限于本类和子类访问,实例不能访问.internal 内部访问.只限于本项目内访问,其他不能访问.protected inter

【C++基础】 类中static private public protected

静态成员在一个类的所有实例间共享数据 “类属性”,是描述类的所有对象共同特征的一个数据项,对所有对象,它的值相同,static定义,为整个类所共有.相对于“实例属性” 如果static成员是私有类型,则只可通过共有静态成员函数访问 [注意]类中仅对成员进行声明而不初始化,必须在文件作用域的某个地方初始化 在class和main外即全局变量域,int Test::ite=0 ;   public private protected 派生类可访问的类型 可以 可以 可以         [C++基础

C++ private,public,protected 关键字

第一: private,public,protected的访问范围: private: 只能由该类中的函数.其友元函数访问,不能被任何其他访问,该类的对象也不能访问. protected: 可以被该类中的函数.子类的函数.以及其友元函数访问,但不能被该类的对象访问public: 可以被该类中的函数.子类的函数.其友元函数访问,也可以由该类的对象访问注:友元函数包括两种:设为友元的全局函数,设为友元类中的成员函数 第二:类的继承后方法属性变化: 使用private继承,父类的所有方法在子类中变为p

[Thinking in Java]修饰符public,protected,默认,private

在使用Java时,常常会遇到四种修饰符,即public,protected,默认(没有修饰符),private,这里写下它们的区别public :包内包外任意访问 protected :包内访问,包外仅子类访问 默认 :包内任意访问 private :仅类内访问 用代码解释 1 package p1; 2 import static java.lang.System.*; 3 4 public class A { 5 public int m1 = 1; 6 protected int m2 =

Java中private、protected、public和default的区别

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

java中的public,protected,private权限修饰

在java程序前如果不加任何一个权限修饰符,默认是只允许包内访问,只有在同一个包内的类之间才能访问. public: 对每个人都是可用的,在任何地方的任何包内都可以访问. protected: protected处理的是继承的问题,只有子类和自己可以访问,不局限于本包. private: 只有自己可以访问.

Java Modifiers, default/public/protected/private/ final/static/transient/synchronized/volatile

reference: http://www.studytonight.com/java/modifier-in-java.php Modifiers are keywords that are added to change meaning of a definition. In java, modfiers are cateogrized into two types: 1. Access control modifier 2. Non Access modifier 1) Access co