首页 > 编程语言 > 详细

java-访问修饰符的区别

时间:2018-12-11 23:55:28      阅读:299      评论:0      收藏:0      [点我收藏+]

说明:所谓访问权限,是指对象是否可以通过“.”运算符操作自己的变量或通过“.”运算符使用类中的方法。

 

1、Java中的四种访问修饰符:public、protected、default(无修饰符,默认)、private。

 

2、四种修饰符可修饰的成分(类、方法、成员变量)

 

public

protected

default

private

×

×(内部类可以用private修饰)

方法

成员变量

 

3、四种修饰符的访问权限

  public:对所有类可见

  protected:对同一包中的类可见、对同一包及不同包中的子类可见

  default:对同一包中的类可见、对同一包中的子类可见

  private:仅对类本身可见   

  可见是可访问的意思,即由这些修饰符修饰的成分(类、方法、成员变量)可以被其它类访问。对子类可见即子类可以继承。

  这里需要注意的是protected与default,二者的区别在于不同包中的子类是否可以继承。

访问权限

同一包

同一包中的子类

不同包中的子类

不同包

public

protected

×

default

×

×

private

×

×

×

×

 

 注:

 -  修饰符修饰变量或方法时:

 -  一个类中的实例方法总是可以操作该类中的实例变量和类变量;类方法总是可以操作该类中的类变量,与访问权限没有关系。

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

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

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

 -  public:如果Tom类中的某个成员是public类变量,那么在另外一个类中也可以通过类名Tom来操作Tom的这个成员变量。如果Tom类中的某个方法是public类方法,那么在另外一个类中,也可以通过类名Tom来调用Tom类中的这个public类方法。

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

 -  default:在源文件中编写命名的类总是在同一个包中。如果源文件使用import语句引入了另外一个包中的类,并用该类创建了一个对象,那么该类的这个对象将不能访问自己的友好变量和友好方法。

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

 

 *  修饰符修饰类时:

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

 *  如果一个类不加public修饰,这样的类被称为友好类,那么在另外一个类中使用友好类创建对象时,要保证它们在同一个包中。

 

 

部分引用:https://www.cnblogs.com/deltadeblog/p/7123661.html

 

java-访问修饰符的区别

原文:https://www.cnblogs.com/hfumin/p/10105364.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!