java包与控制权限和c++对比

相同点:public,protected,private含义一致
不同点:

  1. java多一个default关键字
  2. java关键字的含义在同包或者不同包的条件下会有变化
  3. java都是public继承
  4. java的public关键字可以修饰类

这些访问关键字一般都是用来修饰类中的成员变量或者成员方法。

public,protected,private含义


public

创建的本类对象和子类对象都可以访问。

protected

创建的类的对象不可以访问,只能在本类或者子类中访问。

private

创建的类的对象不可以访问,只能在本类中访问。

创建的类的对象在同类或者子类中某些情况下是可以访问的,这里不讨论。

附上测试demo,里面有一个测试public_private文件夹。

default关键字以及同包或者不同包的条件下的变化


同包和不同包不会影响public和private关键字,只会影响protected和default。

default

java默认的关键字,同包情况下等同于public,不同包情况等同于protected。

protected

同包情况下等同于public,不同包情况等同于private。

java都是public继承


继承的类不会自动改变父类里成员的访问权限。

java的public关键字可以修饰类


一个java文件只能有一个public修饰的类,并且java文件名要和类名一致。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容