public:公共权限,可以修饰类、成员变量和成员函数,不论是否在同一个包中均可自由访问

package wang;

//当一个类的权限为public时,类名必须和文件名相同
public class Person{
      public String name;  //public权限

      public void introduce(){
           System.out.println(name);
      }
}

  

package chavez;

class Test{
      public static void main(String args[]){
           //不在同一个包中时要写全名
           wang.Person p = new wang.Person();
      }
}

在不同的包当中,如果一个类不是public权限,在另外一个包中的类就无法对其进行访问,类的成员变量和成员函数同理

包的导入:

当两个类不在同一个包中,生成一个类的引用时需要使用全名,为方便书写,可导入这个类

package chavez;
import wang.*;  //导入wang文件夹下的所有类

class Test{
      public static void main(String args[]){
           Person p = new Person();
           p.name = "zhangsan";
           p.introduce();
      }
}

private:私有权限,修饰成员变量和成员函数,可以修饰内部类

package wang;

class Person{
      private String name;  //private权限

      private void introduce(){
           System.out.println(name);
      }
}

成员变量和成员函数用private修饰后只能在当前类中进行访问,不论是否在同一个包中。继承关系中,子类无法访问父类中private权限的成员变量和成员函数。

default:包级别访问权限,可以修饰类、成员变量和成员函数

两个类在同一个包当中,对类的成员变量和成员函数可以任意访问。如果子类和父类不在同一个包当中,子类可以继承父类当中的default权限的成员变量和成员函数,但由于权限不够无法使用。

package wang;

class Person{
      String name;  //default权限,不写权限修饰符

      void introduce(){
           System.out.println(name);
      }
}
//与Person在同一个包中
package wang;

class Test{
      public static void main(String args[]){
           Person p = new Person();
           p.name = "zhangsan";
           p.introduce();
      }
}

protected:受保护权限,拥有和default一样的功能,但该权限只能修饰成员变量和成员函数。当子类和父类不在同一个包中时,子类可以继承并使用父类中protected权限的成员变量和成员函数(跨包继承)。

package wang;

public  class Person{
      protected String name;
}
package chavez;
import wang.Person;

class Student extends Person{
      void introduce(){
           System.out.println("我的名字叫"+name);
      }
}

public权限和protected权限的区别:

一个类中的public权限的成员变量和成员函数,任何类都可以调用

一个类中的protected权限的成员变量和成员函数,只有该类所属的包之外的、该类的子类才可以继承使用

权限大小从大到小排列:public > protected > default > private

java软件包的访问权限和继承的更多相关文章

  1. 浅析Java中的访问权限控制

    浅析Java中的访问权限控制 今天我们来一起了解一下Java语言中的访问权限控制.在讨论访问权限控制之前,先来讨论一下为何需要访问权限控制.考虑两个场景: 场景1:工程师A编写了一个类ClassA,但 ...

  2. java基础(八)-----深入解析java四种访问权限

    Java中的访问权限理解起来不难,但完全掌握却不容易,特别是4种访问权限并不是任何时候都可以使用.下面整理一下,在什么情况下,有哪些访问权限可以允许选择. 一.访问权限简介 访问权限控制: 指的是本类 ...

  3. java基础(七) java四种访问权限

    引言   Java中的访问权限理解起来不难,但完全掌握却不容易,特别是4种访问权限并不是任何时候都可以使用.下面整理一下,在什么情况下,有哪些访问权限可以允许选择. 一.访问权限简介 访问权限控制: ...

  4. Java基础之访问权限控制

    Java基础之访问权限控制 四种访问权限 Java中类与成员的访问权限共有四种,其中三种有访问权限修饰词:public,protected,private. Public:权限最大,允许所有类访问,但 ...

  5. Thinking In Java 4th Chap6 访问权限控制

    引入一个包及其所包含的方法:import java.util.ArrayList;(引入java.util包,并引入了包中的ArrayList类) import java.util.*;(引入了jav ...

  6. Java成员的访问权限控制

    Java中的访问权限控制包含两个部分: 类的访问权限控制 类成员的访问权限控制 对类来说,访问权限控制修饰符可以是public或者无修饰符(默认的包访问权限): 对于类成员来说,访问权限控制修饰符可以 ...

  7. (转)浅析Java中的访问权限控制

    原文地址: http://www.cnblogs.com/dolphin0520/p/3734915.html 今天我们来一起了解一下Java语言中的访问权限控制.在讨论访问权限控制之前,先来讨论一下 ...

  8. java类的访问权限

    1.解析 Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符. private: Java语言中对访问权限限制的最窄的修 ...

  9. java四种访问权限修饰符

    java中四个访问权限修饰符: public(公开的).protected(受保护的).default(默认的).private(私有的). 它们决定了紧跟其后被定义的东西的使用范围. 适用范围< ...

随机推荐

  1. 解决 window server2008 r2 没有注册Ofiice组件的方法

    解决 window server2008  r2 没有注册Ofiice组件的方法   .NET下在用Microsoft.Office.Interop.Excel及word 操作Excel和Word时, ...

  2. CODESOFT都出中文官网了,你还等什么呢

    CODESOFT是先进的标签设计和集成软件,提供了无与伦比的灵活性.功能和世界范围的支持,是企业环境下标签打印的最佳选择.在过去的时间里,CODESOFT从未停止过努力与改进,现如今已推出了最新版本C ...

  3. 手写堆_C++

    一般主程序中拿堆顶元素 x=h[]; h[]=h[top--]; down(); 在堆尾加入元素 h[++top]=x; up(top); 上浮下沉操作 inline void up(int x) { ...

  4. 二模10day1解题报告

    T1.阅览室(reading) 有一个0~T时间内开放的阅览室,n个读者来读书每人k本,编号和看完所需时间在输入中.其中喜欢度降序排列(不考虑数值),每个人先看喜欢的,如果没有(被人拿走了)就继续找第 ...

  5. 运用Ntop监控网络流量(视频Demo)

    运用Ntop监控网络流量 ____网络流量反映了网络的运行状态,是判别网络运行是否正常的关键数据,在实际的网络中,如果对网络流量控制得不好或发生网络拥塞,将会导致网络吞吐量下降.网络性能降低.通过流量 ...

  6. Iphone5S 体验(视频+截图)

    Iphone5S眨眼从外观看和5区别不大,仔细一看后面,最大的变化还是闪光灯,内部使用了A7的处理器运算速度增强了不少.无论照相还是FaceTime摄像都非常清晰,就连常用的手电筒和动态天气预报都考虑 ...

  7. 新安装的ubuntu系统如何设置中文输入法的方案

    本文是本人写的第一篇的linux博客,因为很菜,所以就把刚才自己安装中文输入法的过程给大家介绍一下,希望有所帮助. 1.首先,打开命令终端,两种方式,在Dash里面输入terminal然后enter, ...

  8. gerrit 调试smtp email

  9. linux 内存使用

    # df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 1.9G 45G 5% / tmpfs 1.9G 0 1.9G 0% ...

  10. windows live writer向cnblog发布文章设置(转)

    Windows Live Writer是非常不错的一个日志发布工具,支持本地写文章,非常方便将word 中内容,包括图片进行处理,有点感觉相见恨晚. Live Writer最新版本下载地址是什么? h ...