网站大量收购闲置独家精品文档,联系QQ:2885784924

java-内部类.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java-内部类课案

软件组周总结 本周 下周 四个一 蔡勋伟 摔倒app界面设计讨论 新增绑定设备功能 5323 韩非 实现锁屏求助,摔倒app界面设计方案讨论 实现扫一扫绑定设备 5533 高玉龙 设计梳理新版摔倒后台的登录模块,设计数据库 继续设计数据库 6453 陈蒙 新版摔倒APP项目搭建 地图展示模块 5434 付兴聪 android文件读写和SQL数据库数据存储 Android中的签名和权限 5533 曹卫杰 Java IO流相关内容 处理“基于远程监护家庭健康信息化的信息融合技术研究”项目的结题工作 5534 韩晓玉 java基础类库的学习 java集合框架和泛函的了解 5534 内部类(nested classes) 内部类是在外部类的内部在定义一个类。 内部类的特点 内部类是一种编译时的语法,编译后生成的两个类是独立的两个类(Out.class,Out$Inner.class 可以自由的访问外部类的任何成员(包括私有成员),但外部类不能直接访问内部类的成员 内部类可为静态,可用protected和private修饰(而外部类只能使用public和缺省的包访问权限)。 非静态内部类: 与外部类的属性、方法、初始化块、构造器并列, 非静态内部类可看作外部类的实例变量。 在内部类中访问实例变量:this.属性 在内部类访问外部类的实例变量:外部类名.this.属性。 不可以有静态属性和方法(final 的除外),因为static 在加载类的时候创建,这时内部类还没被创建,非静态内部类需要先创建了外部类才能创建它自己、 通过仿闭包的非静态内部类,可以方便的实现回调的功能 在创建成员内部类的实例时,外部类的实例必须存在 在外部类内部实例化对象(例:Foo外部类、Koo成员内部类) 在外部类的外部实例化对象 Outer out = new Outer(); Inner inn = out.new Inner( ); Outer.Inner inn = new Outer( ).new Inner( ); 非静态内部类的代码 public?class?Outer?{? ????public?static?void?main(String[]?args)?{? private String prop=“外部类属性” private String outer_name=“外部类的名称” ????????inner.print(Outer.new); //外部类对象存在时,不一定有非静态内部类在其中 ? System.out.println(“内部类的name属性”+new Inner().inner_name)//外部类访问内部类 ????}? ?????public?class?Inner?{? //定义一个内部类 private String prop=“内部类属性” private String inner_name=“内部类的名称” System.out.println(“外部类的name属性”+outer_name)//内部类访问外部类的成员 //因为非静态内部类里面保存了一个它寄存外部类对象的引用 ????????public?void?print(String?str)?{? System.out.println(str);? String prop=“局部变量” ???????????System.out.println(“外部类的属性值”+Outer.this.prop)//内部类访问外部类的实例变量 System.out.println(“内部类的属性值”+this.prop)//内部类中访问内部类的实例变量 System.out.println(“局部变量的属性值”+prop) ????????}? ????}? }? class Out { class In { public In(String msg) { System.out.println(msg); } } In OutIn=new In(“外部类里面使用内部类测试信息”);//在外部类里面使用内部类 } public class CreateInnerInstance { public static void main(String[] args) { //在外部类的外面使用内部类 Out.In in=new Out().new In(“测试信息”); /* 上面的代码可以改写成如下三行: 1:使用OutterClass.InnerClass的形式定义内部类变量 Out.In in; 2

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档