一 介绍
内部类的作用:1、多继承.2、增强代码的隐私性,达到完整的封装性.3、闭包与回调.
内部类的分类:1、从作用域的角度可以存在于类中,也可以存在于方法或作用域中.
-2、从命名方式有匿名内部类.
二 实例
简单的内部类:
public class fristinnerclass { //...................inner class begin; //inner class a class contents{ private int i = 11; public int value(){return i;} } //inner class b class destination{ private string label; destination(string label){ this.label = label; } string readlabel(){return label;} } //...................inner class end; //得到内部类的句柄 public destination to(string s){ return new destination(s); } public contents contents(){ return new contents(); } //using inner classes looks just like //using any other class , within fristinnerclass public void ship(string dest){ contents c = new contents(); destination d = new destination(dest); system.out.println(d.readlabel() + "\n" + c.value()); } public static void main(string[] args) { fristinnerclass p = new fristinnerclass(); p.ship("tasmania"); //注意声明内部类时的语法 fristinnerclass.destination d = p.to("tasmania"); fristinnerclass.contents c = p.contents(); system.out.println(d.readlabel()); system.out.println(c.value()); }}
这是基本的内部类的获得方式,还可以通过.new从外部类获得内部类的应用
如上代码可以通过以下方式获取
fristinnerclass.destination d1 = p.new destination("tasmania"); fristinnerclass.contents c1 = p.new contents();
通过.this的方式可以在内部类中得到当前外部类的引用
class contents{ private int i = 11; public int value(){return i;} public fristinnerclass get(){return fristinnerclass.this;} }
三 衍生
作用域的内部类: 达到了内部类的隐蔽性,只有在作用域内能够访问
待续......................
分享到:
相关推荐
匿名内部类 inner class 马克-to-win java视频的详细介绍
Instance inner 实例内部类 马克-to-win java视频的介绍
Java 易混淆概念 Anonymous Inner Class Java编程语言中存在一些易混淆的概念,今天我们将探讨 Anonymous Inner Class、final、finally、finalize 的区别,Static Nested Class 和 Inner Class 的不同,&和&&的区别...
在“java_innerclass_instance.rar_innerclass”这个压缩包中,包含的资源可能是一个关于Java内部类实例应用的示例代码。 内部类主要有四种类型:成员内部类、局部内部类、匿名内部类和静态内部类。这里我们主要...
Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)
可以通过"OuterClass.InnerClass"的方式引用静态成员类,如`new Outer.Inner1()`。 6. **使用场景** - 当需要创建一个与外部类紧密相关的辅助类,并且希望这个类在没有外部类实例的情况下也能存在时,可以使用...
1. 对于成员内部类和静态嵌套类,可以通过`new OuterClass().new InnerClass()`或`OuterClass.InnerClass inner = new OuterClass().new InnerClass();`来实例化。 2. 局部内部类和匿名内部类只能在定义它们的方法...
InnerClass01Test.java
OuterClass.InnerClass innerObj = outerObj.new InnerClass(); ``` #### 三、访问权限 内部类和静态嵌套类都可以声明不同的访问权限,包括`public`、`protected`、`package-private`(默认访问权限)、`private...
匿名内部类 inner class 马克-to-win java视频的详细介绍
嵌套类主要分为两大类:静态嵌套类(Static Nested Class)和非静态嵌套类(Non-static Nested Class),后者通常被称为内部类(Inner Class)。 - **静态嵌套类**:此类嵌套类被声明为`static`,因此它们与外部类...
java程序代码,供大家参考。不会的时候可以看看啊
Instance inner 实例内部类 马克-to-win java视频的介绍
Java面向对象(高级)-- 类的成员之五:内部类(InnerClass)
内部类(Inner Class)是Java语言中一个独特的特性,它允许在一个类的内部定义另一个类。这种设计模式在处理特定问题时提供了更大的灵活性,比如实现事件监听器、封装复杂逻辑或者创建私有的辅助类。本章我们将深入...
Java 面试题 经典 第一,谈谈final, finally, finalize的区别。...第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。 第四,&和&&的区别。 第五,HashMap和Hashtable的区别。
本节内容包括 接口基本概念 使用接口的例子 接口的定义 接口的实现 接口与抽象类 接口和回调 内部类(介绍)
在Android开发过程中,有时会遇到导入项目时出现错误警告,比如"Ignoring InnerClasses attribute for an anonymous inner class"。这个问题并不会阻止项目在Windows系统上运行,但可能会导致在其他平台如OS X上无法...
在Java中,还有Static Nested Class和Inner Class的概念。Static Nested Class意味着创建一个static内部类的对象,不需要一个外部类对象,不能从一个static内部类的一个对象访问一个外部类对象。 在Java面试中,还...