private/默认/protected/public权限修饰符的区别

private/默认/protected/public权限修饰符和面向对象的三大特性的封装性有着密切关系。它们都可以修饰类的成员,其中的默认和public还可以修饰类

类的成员包括:成员变量、成员方法、构造方法、内部类、代码块。

其中:

public:修饰类可以被同一项目所有包中的所有类访问(类可见性)。

默认:可被同一包中的类访问(包可见性)。

小结:

1、内部类属于类的成员,可以使用以上四个修饰符修饰,这一点和类不同。

2、如何使用:类的属性一般使用private修饰,可以通过public的setter和getter方法对其操作。

3、如果一个类的构造方法只有一个,并且使用private修饰,这意味着不可以在类的外部创建对象。很多工具类如Arrays、Collections、Maths都是如此。

4、Java的反射技术可以突破封装的限制,即使private成员也可以被访问。

原文地址:https://www.cnblogs.com/sinoaccer/p/12038064.html

时间: 2024-10-28 23:39:02

private/默认/protected/public权限修饰符的区别的相关文章

黑马程序员-权限修饰符

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- /** 方法的构成: *      [权限修饰符列表][别的修饰符列表] 返回值数据类型 方法名 (参数列表){ *          运行体; *          return 返回值; *      } *  *****!!!!!

06 面向对象:多态&amp;抽象类&amp;接口&amp;权限修饰符&amp;内部类

多态: /* 多态(polymorphic)概述 * 事物存在的多种形态 多态前提 * a:要有继承关系. * b:要有方法重写. * c:要有父类引用指向子类对象. * 成员变量 * 编译看左边(父类),运行看左边(父类). * 成员方法 * 编译看左边(父类),运行看右边(子类).动态绑定 * 静态方法 * 编译看左边(父类),运行看左边(父类). * (静态和类相关,算不上重写,所以,访问还是左边的) * 只有非静态的成员方法,编译看左边,运行看右边 */ class Demo_Polym

JavaSE知识-10(面向对象_权限修饰符&amp;匿名内部类)

A:为什么要有包 将字节码(.class)进行分类存放 包其实就是文件夹 举例: 学生:增加,删除,修改,查询 老师:增加,删除,修改,查询 ... 方案1:按照功能分 com.hwh.add AddStudent AddTeacher com.hwh.delete DeleteStudent DeleteTeacher com.hwh.update UpdateStudent UpdateTeacher com.hwh.find FindStudent FindTeacher 方案2:按照模块

final、以及public、protected、(default)、private权限修饰符总结

package cn.learn.Final; /* 当final用来修饰类 1.该类不能有任何子类,成员方法均无法覆盖重写,但可以重写父类的方法 当final用来修饰方法 1.该方法不能被覆盖重写 2.但不能和 abstract 同时使用,抽象方法没有方法体,矛盾 当final用来修饰局部变量 1.该变量不可改变,一次赋值终生不变 注:对于基本类型来说,数值不可改变 对于引用类型来说地址值不可改变, eg :final Phone myPhone = Phone("apple") m

Java的权限修饰符(public,protected,default,private)

访问权限修饰符权限从高到低排列是public  ,protected  ,default, private. 一.根据"是否是同包"."是否是子类"分为4中情况+本类 5种情况 二.把 同包中的子类 和 同包中的非子类 合并为 同包 访问修饰符 本类 同包 不同包,子类 不同包,非子类 public √ √ √ √ protected √ √ √   default(friendly) √ √     private √      

java中权限修饰符public、private、protected和default的区别

1.public 可以修饰类.成员变量和成员函数,没有任何限制,同一个包中,或者不同包中的类都可以自由访问 2.private 可以修饰成员变量和成员函数,只能在本类中使用 3.default (不写权限修饰符,就是default权限)可以修饰类.成员变量和成员函数,在同一个包中,可以自由访问.如果子类和父类不在同一个包中,子类可以继承到父类中的default权限的成员变量和成员函数,但是由于权限不够,无法使用 4.protected protected权限首先拥有和default一样的功能,但

java四种权限修饰符(public &gt; protected &gt; (default) &gt; private)

权限修饰符在哪里可以访问 (default) : 表示什么权限修饰符都不写 位置 public protected (default) private 同一个类 yes yes yes yes 同一个包 yes yes yes no 不同包子类 yes yes no no 不同包非子类 yes no no no 原文地址:https://www.cnblogs.com/zhuobo/p/10612656.html

Java学习——public,private,protected等修饰符的区别

public.private.protecte.default是Java里用来定义成员的访问权限的,也就是在成员前不加任何权限修饰符.如: public   class   A{     void   method(){}; } method就属于default权限. 这四个修饰符的访问权限如下表: -----------------------------------------------                         类内部     package内       子类  

Java 访问权限修饰符以及protected修饰符的理解

2017-11-04 22:28:39 访问权限修饰符的权限 访问修饰符protected的权限理解 在Core Java中有这样一段话"在Object类中,clone方法被声明为protected,因此无法直接调用anObject.clone().子类只能直接调用受保护的clone方法克隆它自己.为此,必须重新定义clone方法,并将它声明为public,这样才能让所有的方法克隆对象".但是不是所有的子类都可以访问受保护的方法吗?不是每个子类都是Object的之类吗?下面就用例子来说