《java内部类》PPT课件

《java内部类》PPT课件

ID:36763313

大小:478.10 KB

页数:16页

时间:2019-05-09

《java内部类》PPT课件_第1页
《java内部类》PPT课件_第2页
《java内部类》PPT课件_第3页
《java内部类》PPT课件_第4页
《java内部类》PPT课件_第5页
资源描述:

《《java内部类》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java内部类什么是内部类内部类是指在一个外部类的内部再定义一个类。特点:独立的一个Class文件同样需要编译同样可以产生对象为什么要用内部类使用内部类最吸引人的原因是:每个内部类都能独立地继承自一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。如果没有内部类提供的可以继承多个具体的或抽象的类的能力,一些设计与编程问题就很难解决。从这个角度看,内部类使得多重继承的解决方案变得完整。接口解决了部分问题,而内部类有效地实现了“多重继承”。学会使用内部类,是掌握Java高级编程的一部分,它可以让你更优雅地设计你的程序结构.内部类的分类成员内部类局部内部类静

2、态内部类匿名内部类成员内部类作为外部类的一个成员存在,与外部类的属性、方法并列。特点:1、内部类中不允许定义静态变量2、内部类和外部类的相同的成员变量可以共存成员内部类访问方式:1、在内部类内部:在内部类中访问内部类自己的变量直接用变量名在内部类中访问内部类自己的变量也可以用this.变量名在内部类中访问外部类中与内部类同名的实例变量用外部类名.this.变量名如果内部类中没有与外部类同名的变量,则可以直接用变量名访问外部类变量成员内部类2、外部类的非静态方法中:直接创建对象即可访问3、外部类的静态方法中:建立外部类对象,然后根据外部类对象建立内部类对象(特殊语法:外类对象,new),访问

3、内部类的方法成员内部类4、第三方类中:Outerout=newOuter();Outer.Inneroutin=out.newInner();outin.inner_f1();局部内部类在方法中定义的内部类称为局部内部类。特点:1、与局部变量类似,局部内部类不能有访问说明符2、它可以访问当前代码块内的常量,和此外部类所有的成员。3、不可以定义静态变量局部内部类访问方式:1、在内部类内部:如果内部类没有与外部类同名的变量,在内部类中可以直接访问外部类的实例变量可以访问外部类的局部变量(即方法内的变量),但是变量必须是final的如果内部类中有与外部类同名的变量,直接用变量名访问的是内部类的变

4、量用this.变量名访问的也是内部类变量用外部类名.this.内部类变量名访问的是外部类变量局部内部类2、外部类的方法或第三方类的方法:访问局部内部类必须先有外部类对象,然后调用方法静态内部类(嵌套类)将成员内部类声明为static特点:1.静态内部类中可以定义静态或者非静态的成员2.要创建嵌套类的对象,并不需要其外围类的对象。静态内部类(嵌套类)访问方式:1、内部类中:静态内部类只能访问外部类的静态成员(包括静态变量和静态方法)2、外部类中:外部类访问内部类的静态成员:内部类.静态成员外部类访问内部类的非静态成员:实例化内部类即可静态内部类(嵌套类)2、在第三方类中:生成一个静态内部类不

5、需要外部类成员:这是静态内部类和成员内部类的区别。静态内部类的对象可以直接生成:Outer.Innerin=newOuter.Inner();而不需要通过生成外部类对象来生成。匿名内部类匿名内部类就是没有名字的内部类。适用情况:只用到类的一个实例。类在定义后马上用到。类非常小(SUN推荐是在4行代码以下)给类命名并不会导致你的代码更容易被理解。匿名内部类在使用匿名内部类时,要记住以下几个原则:匿名内部类不能有构造方法。匿名内部类不能定义任何静态成员、方法和类。匿名内部类不能是public,protected,private,static。只能创建匿名内部类的一个实例。一个匿名内部类一定是在

6、new的后面,用其隐含实现一个接口或实现一个类。因匿名内部类为局部内部类,所以局部内部类的所有限制都对其生效。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。