首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java作用域public ,private ,protected 及不写时的差异

2014-04-27 
java作用域public ,private ,protected 及不写时的区别public是公用的,其他类都可调用.private是私有的,是

java作用域public ,private ,protected 及不写时的区别

public是公用的,其他类都可调用.

private是私有的,是最严格的,只有当前类(当前JAVA文件)可以调用,甚至继承当前类的子类都不能调用.

protected解决了private的子类不能调用的缺陷,可以理解为一个继承系下的可以调用

?

打个比方: PUBLIC相当于外人可以调用.private相当于只家庭内可以调用,protected相当于亲戚可以调用.

?

默认/缺省,个人认为是JAVA比较失败的设计.很多开发组都明确禁止缺省修饰符.

缺省的含义: 包内可以调用,即只要是同一个包内,都可以调用. 局限性比protected 大,比public 小. 从'外人'的角度看,类似于public,但又比public ?多了个不伦不类的包限定.

?

?

作用域????当前类同一package??子孙类????其他package?     public??????√√????√?√?     protected???√√???√×?     friendly????√√????××?     private?????√×???××?

?

?

作用域????当前类???同一package??子孙类????其他package?     public??????√????????????√????????????????√?????????????√?     protected???√????????????√???????????????√????????????×?     friendly????√????????????√????????????????×?????????????×?     private?????√????????????×????????????????×?????????????×?

?

?

热点排行