private:

   1.在当前类开发中,main方法之外可以直接借助名字使用,当前类的main方法中可以使用对象打点的方式直接使用成员。

   2.在当前类之外,使用对象(或是类名,针对静态的)打点调用都是被限制的。这时候有同学问,那我开发的这个私有的成员难道不能使用了吗?不是,可以通过在当前类中开发一个公有的方法,在公有方法中可以使用这个私有的成员,从而达到间接使用私有成员。

   3.在继承中,私有成员禁止被继承,也就是说在子类的开发中,拒绝直接使用私有成员的名字进行使用。

public:

   1.在当前类开发中,main方法之外可以直接借助名字使用,当前类的main方法中可以使用对象打点的方式直接使用成员。

   2.在当前类之外,使用对象(或是类名,针对静态的)打点调用是被允许的。

   3.在子类中,公有成员允许被继承,也就是说在子类的开发中,可以直接使用公有成员的名字进行使用。

protected:

     protected这个修饰符比较繁琐,它涉及到是否是同一个包的问题。

   同一个包的情况:

   1.在当前类开发中,main方法之外可以直接借助名字使用,当前类的main方法中可以使用对象打点的方式直接使用成员。

   2.在当前类之外,同一个包中,使用对象(或是类名,针对静态的)打点调用是被允许的。

   3.在子类中,同一个包中,受保护成员允许被继承,也就是说在子类的开发中,可以直接使用受保护成员的名字进行使用。子类的main方法中可以使用子类或是父类对象打点调用。

   4.在当前类之外,子类之外,要使用子类的类中,同一个包中,可以使用子类或是父类对象打点调用。

   不同包的情况:

   1.在当前类之外,不同包中,使用对象(或是类名,针对静态的)打点调用是被禁止的。

   2.在子类中,不同包中,受保护成员允许被继承,也就是说在子类的开发中,可以直接使用受保护成员的名字进行使用。子类的main方法中只能通过子类对象打点调用。父类对象不行,这个时候相当于父类中的受保护成员跨包了。

   3.在当前类之外,子类之外,要使用子类的类中,与子类同一个包中,通过子类对象打点是调用不出父类中的受保护的成员的。父类对象更不行,这个时候相当于父类中的受保护成员跨包了。如果想要通过子类对象调用父类的受保护的成员,需要重新覆写父类的这个成员。

   4.在当前类之外,子类之外,要使用子类的类中,与父类同一个包中,通过子类对象打点是可以调用父类中的受保护的成员的。父类对象也行,同个包中。

   5.在与父类和子类都不同包的第三个包中,要想通过子类对象调用父类的受保护成员,可以通过覆写父类受保护成员,并将访问限制符修改成public。

最新文章

  1. Hive 笔记
  2. solrcloud
  3. 斜堆(一)之 C语言的实现
  4. asp.net收藏和设为首页的代码
  5. Python通过Manager方式实现多个无关联进程共享数据
  6. virtualbox 复制多个虚拟机 (宿主机redhat)
  7. sql语句查询数据库中的表名/列名/主键/自动增长值
  8. Java XML解析器
  9. 谈一下我们是如何开展code review的
  10. Python中List和Tuple类型
  11. html2canvas 识别 svg 解决方案
  12. RROR: [XSIM 43-3238] Failed to link the design.
  13. Make a plan
  14. vue-cli跳转到新页面的顶部
  15. 第七周 ip通信基础回顾
  16. 使用ODP.NET连接Oracle数据库
  17. Jenkins自定义变量共享
  18. PHP基础学习----字符串操作
  19. Ignite内存数据库与sql支持
  20. mysql查看线程详解(转载)

热门文章

  1. Markdown 语法简要规则
  2. vue+element tree(树形控件)组件(2)
  3. Java基础--数组的定义
  4. Educational Codeforces Round 83 (Rated for Div. 2)A--C
  5. 前端传json数组 ,后端的接收
  6. Redis系列四 - 分布式锁的实现方式
  7. java面试汇总一
  8. c js 字符串反转
  9. Ubuntu下实现歌词解析
  10. this.current = params.page || 1 (前提是params对象一定要存在)