chapter类的补充代码(内部类).docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
chapter类的补充代码(内部类)

一、内部类 成员内部类 class Outer { private int num = 4; // 定义类的成员变量 // 下面的代码定义了一个成员方法,方法中访问内部类 public void test() { Inner inner = new Inner(); inner.show(); } // 下面的代码定义了一个成员内部类// 注意:此时的内部类不能定义为私有的,否则在测试类中无法访问 class Inner { void show() { // 在成员内部类的方法中访问外部类的成员变量 System.out.println(num = + num); } } } public class Example16 { public static void main(String[] args) { //方法1: //Outer outer = new Outer(); // 创建外部类对象 //outer.test(); // 调用 test() 方法 //方法2: Outer.Inner inter = new Outer().new Inner(); inter.show(); } } 案例2 class Out { private int age = 12; class In { private int age = 13; public void print() { int age = 14; System.out.println(局部变量: + age); System.out.println(内部类变量: + this.age); System.out.println(外部类变量: + Out.this.age); } } } public class Demo { public static void main(String[] args) { Out.In in = new Out().new In(); in.print(); } } 从实例1中可以发现,内部类在没有同名成员变量和局部变量的情况下,内部类会直接访问外部类的成员变量,而无需指定Out.this.属性名 否则,内部类中的局部变量会覆盖外部类的成员变量,而访问内部类本身的成员变量可用this.属性名,访问外部类的成员变量需要使用Out.this.属性名 静态内部类 class Outer { private static int num = 6; // 下面的代码定义了一个静态内部类 static class Inner { static int num = 6; //静态内部类可以定义静态成员,非静态类不可以 void show() { System.out.println(num = + num); } } } class Example18 { public static void main(String[] args) { Outer.Inner inner = new Outer.Inner(); // 创建内部类对象 inner.show(); // 调用内部类的方法 } }class Outer { private int num = 4; // 定义成员变量 public void test() { // 下面是在方法中定义的内部类 class Inner { void show() { System.out.println(num = + num); // 访问外部类的成员变量 } } Inner in = new Inner(); // 创建内部类对象 in.show(); // 调用内部类的方法 } } public class Example19 { public static void main(String[] args) { Outer outer = new Outer(); // 创建外部类对象 outer.test(); // 调用 test() 方法 } }实例1:不使用匿名内部类来实现抽象方法abstract class Person { public abstract void eat(); } class Child extends Person { p

文档评论(0)

phltaotao + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档