屈指一算,距离自己学习java已经有一年半,而在这一年半中,由于在忙于学习Linux,Python,Shell等相关东西,已经好久没有接触java了,而在面试中,被问到好多关于java相关的东西,而暑假实习也将要搞java相关的东西,于是最近不得不将java重新建起来捡起来。
被问道的问题之一是:
你是怎样理解java的封装的?
封装,字面意思理解就是用东西将一个重要的东西包装起来,让有权利接触此东西的人可以接触到,让没权利的,接触不到,这就是封装的字面意思,而java中的封装呢?差不多也就是这个意思,对一个类使用一定的访问控制符,达到按需限制访问的目的。
java的访问控制符有三个:private,protected,public
但是我们时常会遇到这样的定义:class ClassA{},就是在类前面不加任何修饰符,其也表示一种访问控制符,称之为default
那么关于private,protected,public,default的访问控制级别,具体是怎样的呢?首先来让我们谈谈java里的“范围”概念。
从小到大依次是:本类,同一个包,父子类,全局
下面是访问控制列表:
注:private,protected不能修外部类