Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14490460
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 21:38:36

下载本文示例代码
  有些类的定义中包含另一个类的定义。这种处于内部的类称为内部类(inner class)。   例如: public class OuterClass { public class InnerClass { //---This is a inner class. } }   InnerClass类嵌套在OuterClass中,并且被声明为public,因此被OuterClass类之外的对象访问。  InnerClass类没有被声明为OuterClass类的一个静态成员,因此除非生成了一个OuterClass对象,否则无法生成任何InnerClass对象。但是,当你声明一个包含嵌套类的类对象时,并不一定会生成嵌套类的对象,这主要由包含嵌套类的类的构造方法决定。   示例1: class OuterClass { class InnerClass {} } public class Test { public static void main(String[] args) { OuterClass out = new OuterClass(); OuterClass.InnerClass in = out.new InnerClass(); } }   我们使用OuterClass out = new OuterClass();语句生成了一个OuterClass类对象。然后又使用OuterClass.InnerClass in = out.new InnerClass();语句借助外部类的实例生成了一个内部类的对象。main()方法中的两条语句也可以用下面的这一条语句替换:   OuterClass.InnerClass in = new OuterClass().new InnerClass();   总之:在一个类(Test)中,创建另一个类(OuterClass)中的非静态内部类(InnerClass)必须要借助这个外部类(OuterClass)的一个实例。而且这个内部类对象的声明也必须用OuterClass.InnerClass的形式。   示例2: public class Test { class InnerClass {} 1 public static void main(String[] args) { InnerClass in = new Test().new InnerClass(); } }   在main()方法中实例化本类的内部类可以用上例的形式。   示例3: public class Test { class InnerClass {} InnerClass in = new InnerClass(); public static void main(String[] args) {} }   在main()方法外,实例化本类的内部类就和我们平常的操作一样了。   示例4: public class Test { class InnerClass {} public void method() { InnerClass in = new InnerClass(); } public static void main(String[] args) {} } 共2页。 1 2 :   有些类的定义中包含另一个类的定义。这种处于内部的类称为内部类(inner class)。   例如: public class OuterClass { public class InnerClass { //---This is a inner class. } }   InnerClass类嵌套在OuterClass中,并且被声明为public,因此被OuterClass类之外的对象访问。  InnerClass类没有被声明为OuterClass类的一个静态成员,因此除非生成了一个OuterClass对象,否则无法生成任何InnerClass对象。但是,当你声明一个包含嵌套类的类对象时,并不一定会生成嵌套类的对象,这主要由包含嵌套类的类的构造方法决定。   示例1: class OuterClass { class InnerClass {} } public class Test { public static void main(String[] args) { OuterClass out = new OuterClass(); OuterClass.InnerClass in = out.new InnerClass(); } }   我们使用OuterClass out = new OuterClass();语句生成了一个OuterClass类对象。然后又使用OuterClass.InnerClass in = out.new InnerClass();语句借助外部类的实例生成了一个内部类的对象。main()方法中的两条语句也可以用下面的这一条语句替换:   OuterClass.InnerClass in = new OuterClass().new InnerClass();   总之:在一个类(Test)中,创建另一个类(OuterClass)中的非静态内部类(InnerClass)必须要借助这个外部类(OuterClass)的一个实例。而且这个内部类对象的声明也必须用OuterClass.InnerClass的形式。   示例2: public class Test { class InnerClass {} 1 public static void main(String[] args) { InnerClass in = new Test().new InnerClass(); } }   在main()方法中实例化本类的内部类可以用上例的形式。   示例3: public class Test { class InnerClass {} InnerClass in = new InnerClass(); public static void main(String[] args) {} }   在main()方法外,实例化本类的内部类就和我们平常的操作一样了。   示例4: public class Test { class InnerClass {} public void method() { InnerClass in = new InnerClass(); } public static void main(String[] args) {} } 共2页。 1 2 : 下载本文示例代码


JAVA技术专题综述之内部类篇JAVA技术专题综述之内部类篇JAVA技术专题综述之内部类篇JAVA技术专题综述之内部类篇JAVA技术专题综述之内部类篇JAVA技术专题综述之内部类篇JAVA技术专题综述之内部类篇JAVA技术专题综述之内部类篇JAVA技术专题综述之内部类篇JAVA技术专题综述之内部类篇JAVA技术专题综述之内部类篇JAVA技术专题综述之内部类篇JAVA技术专题综述之内部类篇JAVA技术专题综述之内部类篇JAVA技术专题综述之内部类篇
阅读(162) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~