仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 460|回复: 10
打印 上一主题 下一主题

[学习教程] 来看切磋Java外部类的可见性

[复制链接]
小魔女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:16:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
还得说上一点,就java本质而言,是面相对象的,但是你有没有发现,java也不全是,比如说基本类型,int,那他就是整型而不是对象,转换类型是还得借助包装类。
在Java中,当天生一个外部类的对象时,此对象与打造它的内部类经由过程内部类的.this坚持着接洽,因而该外部类对象能够会见其内部类对象的一切成员,包含private成员。
而该外部类对象关于其他类的对象的会见,依照惯例的会见权限语法,这一点也没有甚么出格撑持。这里必要切磋的是,内部类和其他类的对象能够怎样会见到某个外部类对象,即外部类的可见性成绩。
上面是一个示例程序Out.java,个中包括了4个分歧会见权限的外部类(private,default,protected,public),在每一个外部类中,分离包括4个分歧会见权限的成员与办法。在内部类Out中供应了失掉外部类实例的办法。
Out.java
packagecom.zj.main;
publicclassOut{
  publicPrivateIngetPrivateIn(){
   returnnewPrivateIn();
  }

  publicDefaultIngetDefaultIn(){
   returnnewDefaultIn();
  }

  publicProtectedIngetProtectedIn(){
   returnnewProtectedIn();
  }

  publicPublicIngetPublicIn(){
   returnnewPublicIn();
  }

  privateclassPrivateInimplementsInMethod{
   privateintprivate_arg;
   intdefault_arg;
   protectedintprotected_arg;
   publicintpublic_arg;

   privatevoidprivate_method(){};
   voiddefault_method(){};
   protectedvoidprotected_method(){};
   publicvoidpublic_method(){};
  }

  classDefaultInimplementsInMethod{
   privateintprivate_arg;
   intdefault_arg;
   protectedintprotected_arg;
   publicintpublic_arg;

   privatevoidprivate_method(){};
   voiddefault_method(){};
   protectedvoidprotected_method(){};
   publicvoidpublic_method(){};
  }

  protectedclassProtectedInimplementsInMethod{
   privateintprivate_arg;
   intdefault_arg;
   protectedintprotected_arg;
   publicintpublic_arg;

   privatevoidprivate_method(){};
   voiddefault_method(){};
   protectedvoidprotected_method(){};
   publicvoidpublic_method(){};
  }

  publicclassPublicInimplementsInMethod{
   privateintprivate_arg;
   intdefault_arg;
   protectedintprotected_arg;
   publicintpublic_arg;

   privatevoidprivate_method(){};
   voiddefault_method(){};
   protectedvoidprotected_method(){};
   publicvoidpublic_method(){};
  }
  publicstaticvoidmain(String[]args){
   //createanouterobject
   Outout=newOut();

   //createaprivateinnerobjectbynew
   Out.PrivateInprivateIn=out.newPrivateIn();
   privateIn.private_arg=0;
   privateIn.private_method();

   //createaprivateinnerobject byoutsmethod
   Out.PrivateInprivateIn2=out.getPrivateIn();
   privateIn2.private_arg=0;
   privateIn2.private_method();
  }
}
<p>
在ruby里才是一切皆对象。当然我不并不是很了解ruby,但是ruby确实是将语法简化得很好。
深爱那片海 该用户已被删除
沙发
发表于 2015-1-20 18:52:29 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
admin 该用户已被删除
板凳
发表于 2015-1-29 14:59:39 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
老尸 该用户已被删除
地板
发表于 2015-2-2 14:01:03 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
谁可相欹 该用户已被删除
5#
发表于 2015-2-6 20:14:58 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
小妖女 该用户已被删除
6#
发表于 2015-2-8 21:54:22 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
柔情似水 该用户已被删除
7#
发表于 2015-2-20 14:19:10 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
变相怪杰 该用户已被删除
8#
发表于 2015-3-6 18:14:28 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
莫相离 该用户已被删除
9#
发表于 2015-3-9 07:58:34 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
10#
发表于 2015-3-16 21:10:23 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
若天明 该用户已被删除
11#
发表于 2015-3-23 01:03:22 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-28 17:36

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表