---
layout: post
title: Java - 变量的修饰符
categories: blog
tags: [Java]
description: Java - 变量的修饰符
---

> 希望你，不要再搞错了。

## 说明 ##

1. 对于 **`public`** 修饰符，它具有最大的被访问权限，可以被包内或者包外的任何类、接口、异常等访问。它往往用于对外提供服务的情况，是对象或类对外的一种接口的形式。
1. 对于 **`protected`** 修饰符，它的子类可以使用它修饰的成员，其他的不可以，它相当于传递给子类的一些可以被继承的变量。
1. 对于缺省（**`default`**）修饰符，它修饰的对象也被称为友员（**`friendly`**）变量，它是针对本包访问而设计的，任何处于本包下的类、接口、异常等，都可以访问。
1. 对于 **`private`** 修饰符，它的访问权限仅限于类的内部，是一种封装的体现。例如，大多数的成员变量都是private的，它们不希望被任何外部的类访问。

## 区别 ##

1. public：可以被包内或包外的所有类访问。
1. protected：类内部，本包和外部包的子类可以访问。
1. 缺省（default）：同一包中的类可以访问，声明时不加修饰符。
1. private：只能被同一个类中的成员访问。

## Java修饰符的访问控制范围 ##

修饰符 | 类内部 | 本包 | 外部包的子类 | 外部包
:--- | :---: | :---: | :---: | :---:
public | √ | √ | √ | √
protected | √ | √ | √ | ×
缺省（default） | √ | √ | × | ×
private | √ | × | × | ×

<br/>

<div align="right">10/25/2016 11:16:28 AM </div>
Add new blog about Java public
Add new blog about Java public
