Java 实例内部类 总结

标签: java 实例 内部 | 发表时间:2013-03-07 23:43 | 作者:
出处:http://www.iteye.com


public class OutClass {

private String name = "外部类的字符串成员";

public class InnerClass {
int number = 10;

public void InnerSay1() {
System.out.println(name);// 内部类可以访问外部类的所有成员
}

public class InnerClass2 {
boolean a = true;

public void SayInner2() {
System.out.println(a);
}
}

}

public class OtherClass {
OutClass.InnerClass my2 = new OutClass().new InnerClass();

// 实例内部类InnerClass:在外部类以外的其他类中,必须通过外部类的实例创建内部类的实例
public void OtherMethod() {
my2.InnerSay1();
}
}

InnerClass my3 = new InnerClass();

// InnerClass2 mmy = new InnerClass2();    //错误

// 外部类不能直接访问内部类的成员,必须通过内部类的实例去访问
public void OutSay() {
System.out.println(my3.number);// 外部类不能直接访问内部类的成员,必须通过内部类的实例去访问
InnerClass.InnerClass2 my4 = new InnerClass().new InnerClass2();
// 如果类A包含内部类B,类B中包含内部类C,则在类A中不能直接访问类C,而应该通过类B的实例去访问类C。
my4.SayInner2();
InnerClass myin = new InnerClass();
}

public static void main(String[] args) {
// InnerClass ic = new InnerClass();   //错误

InnerClass innerMethod1 = new OutClass().new InnerClass();
// 实例内部类InnerClass:在外部类的静态方法中,必须通过外部类的实例创建内部类的实例
innerMethod1.InnerSay1();
System.out.println("下面是OtherClass的方法:");
OutClass.OtherClass othersay = new OutClass().new OtherClass();
othersay.OtherMethod();
OutClass.InnerClass.InnerClass2 my5 = new OutClass().new InnerClass().new InnerClass2();
// 如果类A包含内部类B,类B中包含内部类C,则在类A中不能直接访问类C,而应该通过类B的实例去访问类C。
my5.SayInner2();
}

}

已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [java 实例 内部] 推荐:

Java 实例内部类 总结

- - ITeye博客
private String name = "外部类的字符串成员";. System.out.println(name);// 内部类可以访问外部类的所有成员. // 实例内部类InnerClass:在外部类以外的其他类中,必须通过外部类的实例创建内部类的实例. InnerClass2 mmy = new InnerClass2();    //错误.

Java NIO服务器实例

- - ImportNew
我一直想学习如何用Java写一个 非阻塞IO服务器,但无法从网上找到一个满足要求的服务器. 我找到了 这个示例,但仍然没能解决我的问题. 还可以选择 Apache MINA框架. 但我的要求相对简单,MINA对我来说还稍微有点复杂. 所以在MINA和一些教程(参见 这篇和 这篇)的帮助下,我自己写了一个非阻塞IO服务器.

k-means聚类JAVA实例

- - CSDN博客互联网推荐文章
《mahout in action》第六章. datafile/cluster/simple_k-means.txt数据集如下:. 1、从D中随机取k个元素,作为k个簇的各自的中心. 2、分别计算剩下的元素到k个簇中心的相异度,将这些元素分别划归到相异度最低的簇. 3、根据聚类结果,重新计算k个簇各自的中心,计算方法是取簇中所有元素各自维度的算术平均数.

Java DelayQueue使用实例

- - Java - 编程语言 - ITeye博客
DelayQueue是一个支持延时获取元素的无界阻塞队列. 队列使用PriorityQueue来实现. 队列中的元素必须实现Delayed接口,在创建元素时可以指定多久才能从队列中获取当前元素. 只有在延迟期满时才能从队列中提取元素. 我们可以将DelayQueue运用在以下应用场景:. 缓存系统的设计:可以用DelayQueue保存缓存元素的有效期,使用一个线程循环查询DelayQueue,一旦能从DelayQueue中获取元素时,表示缓存有效期到了.

[Java 8] Lambda 表达式实例

- - Java - 编程语言 - ITeye博客
Java 8 中的 Lambda 表达式,允许将函数作为形参传递给另外的函数. 为了更好地理解,我们用实例的方式来演示如何使用 Lambda 表达式. 1、Lambda 表达式 Hello World. 这是一个最简单的 Lambda 表达式的例子. 首先在 main 方法的上面声明了一个接口 HelloWorld,在 main 方法中实现了这个接口,随后调用了接口的唯一方法.

Java随机数使用实例总结

- - ITeye博客
Java中提供了好几个类,可以让我们方便的实现随机数等功能,这些类有 java.util.Random, java.util.UUID 以及JDK 7 新引入的 java.util.concurrent.ThreadLocalRandom等. 本文将通过这些类对平时使用的实例进行简单的总结,这些实例的功能大致可以分成四个方面:.

java JDBC 链接hive 操作实例

- - CSDN博客云计算推荐文章
1.在eclipse下面 导入包,简便方式 new ->mapred project -> 右键 ->选择“Properties”->Java Build Path->Library->Add External Jars 将/usr/hive/lib的所有jar包 添加上. (因为之前的配置 所有jar包 已经包括 java链接mysql的包).

fastdfs使用实战(Java实例篇)

- - 行业应用 - ITeye博客
一、创建一个maven的webproject,叫file-manager:mvnarchetype:create-DgroupId=platform.activity.filemanager-DartifactId=file-manager-DarchetypeArtifactId=maven-archetype-webapp.

JAVA基础-栈与堆,static、final修饰符、内部类和Java内存分配

- - 编程语言 - ITeye博客
栈:后进先出(Last-in/First-Out).      Java的堆是一个运行时数据区,类的对象从中分配空间. 这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放. 堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,Java的垃圾收集器会自动收走这些不再使用的数据.

Java 代码优化过程的实例介绍

- - 博客 - 伯乐在线
来源: IBM developerworks. 简介: 通过笔者经历的一个项目实例,本文介绍了 Java 代码优化的过程,总结了优化 Java 程序的一些最佳实践,分析了进行优化的方法,并解释了性能提升的原因. 从多个角度分析导致性能低的原因,并逐个进行优化,最终使得程序的性能得到极大提升,代码的可读性、可扩展性更强.