- 浏览: 78785 次
- 性别:
- 来自: 湖南
最新评论
-
lysvanilla:
补充: 对于action返回input的补充,查阅源代 ...
No result defined for action and result input
普通内部类,静态内部类代码
- /**
- * 普通内部类、静态内部类
- */
- package org.sean.module03.inner_class;
- /**
- * @author 不落的太阳(Sean Yang)
- */
- public class InnerClass1 {
- private String name = "outer";
- private static int i = 10;
- static {
- System.out.println("outer_class static block");
- }
- {
- System.out.println("outer_class init block");
- }
- /** 普通内部类 */
- public class MyInnerClass {
- private String name = "inner";
- /**
- * 此处的静态代码块是错误的,因为普通内部类相当于外部类中的一个属性(方法)
- *
- * 内部类中的属性和方法相当于局部变量,因此不能使用static关键字
- *
- * static { System.out.println("inner_class static block"); }
- */
- {
- System.out.println("inner_class init block");
- }
- public MyInnerClass() {
- System.out.println("inner_class constructor");
- }
- public void method2() {
- System.out.println("inner_class method2");
- }
- public void test() {
- System.out.println(name);
- System.out.println(this.name);
- /** 调用外部类的同名属性 */
- System.out.println(InnerClass1.this.name);
- }
- }
- /** 静态内部类 */
- static class StaticClass {
- static {
- System.out.println("static_class static block");
- }
- {
- System.out.println("static_class init block");
- }
- public StaticClass() {
- System.out.println("static_class constructor");
- }
- public void method3() {
- InnerClass1.i = 40;
- System.out.println(InnerClass1.i);
- }
- }
- public InnerClass1() {
- System.out.println("outer_class constructor");
- }
- public void method1() {
- System.out.println("outer_class method1");
- }
- }
/** * 普通内部类、静态内部类 */ package org.sean.module03.inner_class; /** * @author 不落的太阳(Sean Yang) */ public class InnerClass1 { private String name = "outer"; private static int i = 10; static { System.out.println("outer_class static block"); } { System.out.println("outer_class init block"); } /** 普通内部类 */ public class MyInnerClass { private String name = "inner"; /** * 此处的静态代码块是错误的,因为普通内部类相当于外部类中的一个属性(方法) * * 内部类中的属性和方法相当于局部变量,因此不能使用static关键字 * * static { System.out.println("inner_class static block"); } */ { System.out.println("inner_class init block"); } public MyInnerClass() { System.out.println("inner_class constructor"); } public void method2() { System.out.println("inner_class method2"); } public void test() { System.out.println(name); System.out.println(this.name); /** 调用外部类的同名属性 */ System.out.println(InnerClass1.this.name); } } /** 静态内部类 */ static class StaticClass { static { System.out.println("static_class static block"); } { System.out.println("static_class init block"); } public StaticClass() { System.out.println("static_class constructor"); } public void method3() { InnerClass1.i = 40; System.out.println(InnerClass1.i); } } public InnerClass1() { System.out.println("outer_class constructor"); } public void method1() { System.out.println("outer_class method1"); } }
局部内部类
- /**
- * 局部内部类
- */
- package org.sean.module03.inner_class;
- /**
- * @author 不落的太阳(Sean Yang)
- */
- public class InnerClass2 {
- private String name;
- public void method1(final int i) {
- /** 局部内部类 */
- class LocaleInnerClass {
- public void method2() {
- System.out.println(name);
- System.out.println(i);
- }
- }
- LocaleInnerClass innerClass = new LocaleInnerClass();
- innerClass.method2();
- }
- }
/** * 局部内部类 */ package org.sean.module03.inner_class; /** * @author 不落的太阳(Sean Yang) */ public class InnerClass2 { private String name; public void method1(final int i) { /** 局部内部类 */ class LocaleInnerClass { public void method2() { System.out.println(name); System.out.println(i); } } LocaleInnerClass innerClass = new LocaleInnerClass(); innerClass.method2(); } }
匿名内部类
- /**
- * 匿名内部类
- */
- package org.sean.module03.inner_class;
- /**
- * @author 不落的太阳(Sean Yang)
- */
- class Popcorn {
- public void pop() {
- System.out.println("popcorn execute");
- }
- }
- class PPcorn extends Popcorn {
- @Override
- public void pop() {
- System.out.println("innerClass3 execute");
- }
- }
- public class InnerClass3 {
- @SuppressWarnings("unused")
- private Popcorn pp = new PPcorn();
- @SuppressWarnings("unused")
- private Popcorn popcorn = new Popcorn() {
- @Override
- public void pop() {
- System.out.println("innerClass3 execute");
- }
- };
- }
/** * 匿名内部类 */ package org.sean.module03.inner_class; /** * @author 不落的太阳(Sean Yang) */ class Popcorn { public void pop() { System.out.println("popcorn execute"); } } class PPcorn extends Popcorn { @Override public void pop() { System.out.println("innerClass3 execute"); } } public class InnerClass3 { @SuppressWarnings("unused") private Popcorn pp = new PPcorn(); @SuppressWarnings("unused") private Popcorn popcorn = new Popcorn() { @Override public void pop() { System.out.println("innerClass3 execute"); } }; }
- /**
- * 匿名内部类
- */
- package org.sean.module03.inner_class;
- /**
- * @author 不落的太阳(Sean Yang)
- */
- interface Inner {
- public abstract void inner();
- }
- public class InnerClass4 {
- public void test(Inner inner) {
- System.out.println("Anonymous class");
- }
- public static void main(String[] args) {
- InnerClass4 innerClass = new InnerClass4();
- innerClass.test(new Inner() {
- public void inner() {
- System.out.println("interface inner");
- }
- });
- }
- }
/** * 匿名内部类 */ package org.sean.module03.inner_class; /** * @author 不落的太阳(Sean Yang) */ interface Inner { public abstract void inner(); } public class InnerClass4 { public void test(Inner inner) { System.out.println("Anonymous class"); } public static void main(String[] args) { InnerClass4 innerClass = new InnerClass4(); innerClass.test(new Inner() { public void inner() { System.out.println("interface inner"); } }); } }
测试代码
- /**
- * 测试内部类
- */
- package org.sean.module03.inner_class;
- /**
- * @author 不落的太阳(Sean Yang)
- */
- public class TestInner {
- public static void main(String[] args) {
- /** 普通内部类产生对象的方式 */
- InnerClass1.MyInnerClass innerClass1 = new InnerClass1().new MyInnerClass();
- innerClass1.method2();
- innerClass1.test();
- /** 静态内部类产生对象的方式 */
- InnerClass1.StaticClass staticClass = new InnerClass1.StaticClass();
- staticClass.method3();
- InnerClass2 innerClass2 = new InnerClass2();
- innerClass2.method1(10);
- }
- }
/** * 测试内部类 */ package org.sean.module03.inner_class; /** * @author 不落的太阳(Sean Yang) */ public class TestInner { public static void main(String[] args) { /** 普通内部类产生对象的方式 */ InnerClass1.MyInnerClass innerClass1 = new InnerClass1().new MyInnerClass(); innerClass1.method2(); innerClass1.test(); /** 静态内部类产生对象的方式 */ InnerClass1.StaticClass staticClass = new InnerClass1.StaticClass(); staticClass.method3(); InnerClass2 innerClass2 = new InnerClass2(); innerClass2.method1(10); } }
发表评论
-
Java实例开发01-01 屏幕捕获工具
2011-09-09 16:07 963知识点: 1.Swing (使用eclipse插件Jiglo ... -
Java实例开发01-02 文本阅读器
2011-09-09 16:04 1071这次采用的是SWT开发的,利用了Jigloo插件 知识 ... -
Java删除文件和目录
2011-09-08 15:02 821package book.io; ... -
实例解析:在Java语言中对文件操作大全
2011-09-07 22:50 853一.获得控制台用户 ... -
JAVA的文件操作
2011-09-07 22:30 89711.3 I/O类使用 由于在IO ... -
Java SE 学习笔记04
2011-09-01 10:00 851★内部类(inner class)内部类又称嵌套类,是指定 ... -
Java SE 学习笔记03 代码
2011-09-01 09:59 761关于父类与子类在属性 ... -
Java SE 学习笔记03
2011-09-01 09:59 753面向对象基础 ★面向对象强调数据结构第一,算法第二 ... -
Java SE 学习笔记02 代码
2011-09-01 09:58 753数组相关API Java代码 / ... -
Java SE 学习笔记02
2011-09-01 09:57 701★数组JAVA中的数组是一个具有相同类型元素的有序集合,数 ... -
Java SE 学习笔记01 代码
2011-09-01 09:56 862Java中的基本数据类型 Java代码 ... -
Java SE 学习笔记01
2011-09-01 09:55 1544★JAVA的特性 Simple简单(去掉了C++中许多 ...
相关推荐
Java学习资料 java se JAVA基础学习笔记和演示案例代码项目
《java jdk 7学习笔记》针对java se 7新功能全面改版,无论是章节架构或范例程序代码,都做了重新编写与全面翻新。并详细介绍了jvm、jre、java se api、jdk与ide之间的对照关系。必要时从java se api的源代码分析,...
《Java JDK7学习笔记》针对java se 7新功能全面改版,无论是章节架构或范例程序代码,都做了重新编写与全面翻新。并详细介绍了jvm、jre、java se api、jdk与ide之间的对照关系。必要时从java se api的源代码分析,...
《Java JDK7学习笔记》针对java se 7新功能全面改版,无论是章节架构或范例程序代码,都做了重新编写与全面翻新。并详细介绍了jvm、jre、java se api、jdk与ide之间的对照关系。必要时从java se api的源代码分析,...
《Java JDK6学习笔记》是作者良葛格本人近几年来学习Java的心得笔记,结构按照作者的学习脉络依次展开,从什么是Java、如何配置Java开发环境、基本的Java语法到程序流程控制、管理类文件、异常处理、枚举类型、泛型...
●本书是作者多年来教学实践经验的总结,汇集了学员在学习课程或认证考试中遇到的概念、操作、应用等问题及解决方案, ●针对Java SE 8新功能全面改版,无论是章节架构或范例程序代码,都做了重新编写与全面翻新, ●...
公司几位高手一起总结的一份JAVA SE的笔记.总结的很精练,新手可当学习向导查阅,达人可当工具手册使用.真是练习JAVA,杀人必备的好文档!
4.大多数java标准版本平台都会取个代码名称(code name),如Java SE 7 dolphin(海豚) 5.从大到小,包含与被包含:java se:java 语言、jdk(jre(jvm,java se api))。jdk包含了java程序语言、工具程序与jre,jre...
《Java JDK 7学习笔记》针对Java SE 7新功能全面改版,无论是章节架构或范例程序代码,都做了全面重新编写与翻新。 《Java JDK 7学习笔记》是作者多年来教学实践的经验总结,汇集了学员在教学过程中遇到的概念、...
资源名称:《Java JDK 7学习笔记》PDF内容简介:本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习Java时遇到的概念、操作、应用或认证考试等问题及解决方案。本书针对Java SE 7新功能全面改版,无论...
传智播客毕向东Java SE视频教程的课堂笔记。包括代码和总结。
笔记记录总结的知识属于Java SE(8)的知识,Java SE重要的知识模块如下: Java的基本元素、面向对象、基本的设计模式、Java常用的类库、文件与IO、类集合框架、多线程的基础。 笔记主要提炼的是《Java核心技术精讲...
清华大学出版社,林信良著,2015.3,643页,完整清晰带目录。 本书针对Java SE 8新功能全面改版,无论是章节架构或范例程序代码,都做了重新编写与全面翻新。
●本书是作者多年来教学实践经验的总结,汇集了学员在学习课程或认证考试中遇到的概念、操作、应用等问题及解决方案, ●针对Java SE 8新功能全面改版,无论是章节架构或范例程序代码,都做了重新编写与全面翻新, ●...
java se学习知识点整理 练习Demo JAVA学习资料 几种常见排序算法.docx JAVA 修饰符 JAVA泛型 韩顺平java笔记完整版-基础篇 ##数据类型 JAVA中的基本数据类型有四类八种:整数类型、小数类型、字符类型、布尔类型。 ...
Java基础之笔记系列—Day06(面向对象,开发代码)
清华大学出版社,林信良著,2015.3,643页,完整清晰带目录。 本书针对Java SE 8新功能全面改版,无论是章节架构或范例程序代码,都做了重新编写与全面翻新。