JAVA中,嵌套类的介绍
2015-10-20 21:19
423 查看
1,java中,允许在类中介绍类。这种声明在类的内部的类称为嵌套类,也可以叫内部类。
2,嵌套类对象可以访问创建它的外部类的所有属性和方法、
3,嵌套类通过在其外部类环境内的嵌套声明,不为同一包的其他类所见。可以支持更高层次的封装。
4,嵌套类可以很方便地定义运行时回调。
5,嵌套类在编写事件处理程序很方便。
6,被static修饰的嵌套类被称为静态嵌套类,静态嵌套类中可以声明static成员或者非静态成员,但是只能访问外部的静态成员。
下面是我写的嵌套类程序
Outer.java
Test1.java
静态嵌套程序如下:
2,嵌套类对象可以访问创建它的外部类的所有属性和方法、
3,嵌套类通过在其外部类环境内的嵌套声明,不为同一包的其他类所见。可以支持更高层次的封装。
4,嵌套类可以很方便地定义运行时回调。
5,嵌套类在编写事件处理程序很方便。
6,被static修饰的嵌套类被称为静态嵌套类,静态嵌套类中可以声明static成员或者非静态成员,但是只能访问外部的静态成员。
下面是我写的嵌套类程序
Outer.java
package com.qiantao1.java; public class Outer //外部类 { public void test() { System.out.println("这是外部类"); } public void accessInner() { Inner inner=new Inner(); inner.display(); } public class Inner //嵌套类 { public void display() { System.out.println("外部的i="+outer_i); test(); System.out.println("内部的i="+this.inner_i); System.out.println(j); System.out.println(Outer.this.j); } private int inner_i=100; private int j=200; } private int outer_i=300; private int j=400; }
Test1.java
package com.qiantao1.java; public class Test1 { public static void main(String [] args) { Outer outer=new Outer(); outer.test(); outer.accessInner(); System.out.println(); Outer.Inner inner=outer.new Inner(); //定义嵌套类的。 // Outer.Inner inner=new Outer.Inner(); // Outer.Inner.display(); inner.display(); } }
静态嵌套程序如下:
package com.qiantao2.java; import com.qiantao1.java.Outer; public class Statictest { public static void main(String [] args) { Outer1 outer=new Outer1(); outer.test1(); Outer1.Inner.display(); //第一种设置对象 //Outer1.Inner inner=outer.new Inner(); //Inner inner =new Inner(); Outer1.Inner inner=new Outer1.Inner(); //第二种设置对象。 只有静态嵌套类,才能使用这样建立对象。 inner.test(); } } class Outer1 { private static int outer_i=100; private int j=200; public static void test1() { Inner.display(); //Inner.test(); } public static class Inner{ public static String str="华东师范大学"; private int i=200; public static void display() { System.out.println("外部的类outer_i"+outer_i); } public void test() { System.out.println(str); //System.out.println(j); System.out.println(i); } } }
相关文章推荐
- Mac上安装多个jdk并自由切换
- java生成xml
- 找出两个字符串中最大的公共子串(java实现)
- Java:对象的持久化与序列化
- 发博客测csdn博客
- 黑马程序员--Java学习日记之eclipse开发工具的熟练使用
- Struts2动态方法调用
- Java学习备忘(一)之一
- Java学习笔记(一)窗体
- java switch支持的数据类型
- java的多线程
- Java数组常用排序算法实现复习
- Java中自定义有序不重复的集合——SetList
- java 修饰符全解
- java第八周练习题8.1
- java中的final关键字
- JAVA Game bean machine
- JAVA上机——8.13**
- Java内部类
- Calendar在Java中详细