- 浏览: 7332486 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
package com.easyway.commons.ispace.dev.oop.innerclasses; /** * 实例内部类的学习: * 外部类实例与内部类的实例的之间为一对多关系。一个内部类实例只会引用一个外部类实例。 * 而一个外部类实例对应零个或者多个内部类的实例。在外部类中不能直接访问内部类成员, * 必须通过内部类的实例访问。 * @author Administrator * @date 2010-5-11 * @version 1.0 * @since JDK6.0 */ public class JavaClassType { private int a1; public int a2; static int a3; int v=1; static int bs=9; public JavaClassType(int a1,int a2 ) { this.a1=a1; this.a2=a2; } protected int methodA(){ System.out.println("A:methodA"); return a1*a2; } /** * (4)一般的内部类(非static类)的内部没有静态属性。在实例内部类中不能定 * 义静态成员,而只能定义实例成员。 * @author longgangbai * @date 2010-5-10 * @version 1.0 * @since JDK6.0 */ class B{ public int b1=a1; // public static int b=9; 编译错误 int b2=a2; int b3=a3; int v=2; /** * (2) 实例内部类的实例自动持有外部类的实例的引用。 * 在内部类中,可以直接访问外部类的所有成员。包括成员变狼和成员方法。 */ int b4=new JavaClassType(3,5).a1; int b5=methodA(); /** * (5) 在内部类中不同的地方this的含义不同 */ private void methodB(){ System.out.println("B:methodB"); System.out.println("v="+v); System.out.println("this.v="+this.v); System.out.println("A.this.v="+JavaClassType.this.v); } /** * 在多层嵌套中,内部类可以访问所有外部类的成员。内层内部类可以访问外层内部类。 * @date 2010-5-11 * @version 1.0 * @since JDK6.0 */ class C{ public int b1=a1; public void methodC(){ System.out.println("C:methodC"); methodA(); methodB(); } } /** * * 局部内部类(在一个方法中定义的内部类,他的可见范围是当前的方法,局部内部类不能访问修饰符及修饰): * (1)局部内部类和实例内部类一样,可以访问外部类的所有成员 * 此外,局部内部类还可以访问所在方法中的final类型的参数和变量。 * (2)在局部内部类和实例内部类一样,不能包含静态成员 */ public void methodBC(){ final int abc=0; int def=8; class G{ // public static int a=9; 局部内部类和实例内部类一样,不能包含静态成员 public int g0=1; protected int g1=b1; private M m=new M(); // static int g5; 编译错误 private int g2=a1; int g3=abc; // int g4=def; 编译错误 class M{ private int m0=0; protected int m1=1; public int m2=4; } } G g=new G(); //注意下面的代码访问的私有变量 int qq= g.g2; System.out.println("g.m.m0 ="+g.m.m0); } /** * 内部类的继承:内部类的子类(F)的构造中必须创建继承内部类(C)的父类(B)的实例: * * @author longgangbai * @date 2010-5-10 * @version 1.0 * @since JDK6.0 */ class F extends B.C{ public F(B b){ b.super(); } } } public static class D{ int d1=bs; int d2=new JavaClassType(7,8).a1; public void methodD(){ System.out.println("d2="+d2); } public static class E{ static int e1=3; } } public static void main(String[] args) { JavaClassType.B b=new JavaClassType(1,2).new B(); System.out.println("b.b1="+b.b1); System.out.println("b.b2="+b.b2); System.out.println("b.b3="+b.b3); //System.out.println("b.b4="+b.b4); System.out.println("b.b5="+b.b5); JavaClassType jcy=new JavaClassType(1,2); JavaClassType.B bb=new JavaClassType(3,6).new B(); //在直接实例内部类的实例的时候,java虚拟机自动使内部类shilling引用它的外部类的实例。 bb.methodB(); bb.methodBC(); B.C c=b.new C(); c.methodC(); D d=new D(); d.methodD(); } }
package com; /** * 那么对于静态变量和静态初始化块之间、变量和初始化块之间的先后顺序又是怎样呢? * 是否静态变量总是先于静态初始化块,变量总是先于初始化块就被初始化了呢? * 实际上这取决于它们在类中出现的先后顺序。我们以静态变量和静态初始化块为 * 例来进行说明。 运行上面的代码,会得到如下的结果: * * 1、Test--A * 2、静态初始化块 * 3、Test--B * * 大家可以随意改变变量a、变量b以及静态初始化块的前后位置,就会发现输出结果随着 * 它们在类中出现的前后顺序而改变, * 这就说明静态变量和静态初始化块是依照他们在类中的定义顺序进行初始化的。同样, * 变量和初始化块也遵循这个规律。 * * * * @author Administrator * */ public class TestOrder { // 静态变量 public static TestA a = new TestA(); // 静态初始化块 static { System.out.println("静态初始化块"); } // 静态变量 public static TestB b = new TestB(); public static void main(String[] args) { new TestOrder(); } } class TestA { public TestA() { System.out.println("Test--A"); } } class TestB { public TestB() { System.out.println("Test--B"); } }
发表评论
-
java中 避免过多的使用同步
2012-11-22 15:41 2249避免过多的使用同步 ... -
Java Thread的一点知识(III)
2011-10-28 15:32 3351同步和异步有何异同,阻塞与非阻塞,在什么情况下分别使用他们?举 ... -
Java Thread的一点知识(II)
2011-10-28 15:30 5413stop() 和 suspend() 方法为何不推荐使用? ... -
Java Thread的一点知识
2011-10-28 15:24 3703线程与进程的区别 线程和进程是不同的,每个进程 ... -
【转】Java内部类
2011-10-28 13:18 1555简单的说,内部(inner)类指那些类定义代码被置于其它类定义 ... -
【转】华为的JAVA面试题
2011-10-28 09:20 2359对我个人来说,看看 ... -
Java String 在JVM中的思考
2011-10-26 16:49 2260package com; /** * @author ... -
java Final的复习
2011-10-24 16:54 1585package com; /** *如果fina ... -
【转】 不用中间变量,实现两个变量的交换
2010-11-27 17:30 2873常见的面试题,很简单,但值得细想的问题还是很多,总结解法如下: ... -
对象池技术基本原理和分析应用(二)
2010-07-02 21:27 1960通用对象池的实现 对象池的构造和管理可以按照多种方式 ... -
对象池技术基本原理和分析应用(一)
2010-07-02 21:25 2043本文在分析对象池技 ... -
java回调机制的使用
2010-06-03 17:09 1953学习过Hibernate和Spring等童鞋,经常见到的 ... -
java 数组知道少?
2010-05-19 17:45 2361package com.easyway.common ... -
面向对象程序设计(OOP)的六大原则
2010-05-15 20:54 3054面向对象程序设计(OOP) ... -
Java 匿名类的学习应用
2010-05-15 20:39 2067java 接口的匿名内部类 package com.ea ... -
java 异常的特殊的典型使用你知道吗?
2010-05-15 20:36 1591package com.easyway.commons.isp ... -
java 字符串类型知道少
2010-05-15 20:33 1771package com.easyway.commons.isp ... -
关于java 类的生命周期 深入了解
2010-05-15 20:15 2361package com.easyway.commons.isp ... -
枚举类的使用特点总结
2010-05-11 09:20 2360package com.easyway.commons.isp ... -
关于Integer的深度分析以及注意点
2010-05-10 22:20 2103在Integer中valueOf()和创建独享In ...
相关推荐
Java 内部类详解 Java 内部类是一种高级特性,允许在一个类的定义内部创建另一个类。这种设计模式提供了更灵活的代码组织方式,同时还可以实现特定的封装和访问控制。内部类主要分为四种类型:静态内部类、成员内部...
Java匿名内部类是Java语言中一个独特且强大的特性,它允许我们在不需要定义一个单独的类的情况下创建类的实例。这在处理回调、事件监听、单例模式以及其他需要短时间内定义一个简单类的情况时非常有用。本篇文章将...
- **静态内部类**:也称为静态嵌套类,这种内部类通过`static`关键字修饰,不能直接访问外部类的实例成员,只能访问外部类的静态成员。 - **局部内部类**:是在一个方法或构造器内部定义的类,可以访问该方法或构造...
Java 内部类是 Java 语言提供的一种独特特性,它允许在一个类的内部定义另一个类。内部类可以作为外部类的成员,具有访问外部类所有成员的权限,包括私有成员。这种设计允许开发者实现更复杂的封装和抽象,特别是在...
10. **内部类与序列化**:Java序列化过程中,非静态内部类的实例会自动包含外部类的实例。如果不需要这种行为,可以通过实现Serializable接口并声明一个`private static final long serialVersionUID`字段来避免。 ...
在这个压缩包中,包含了一系列精心设计的Java实例,每一个都经过了编译验证,确保可以运行并展示特定的编程概念。 1. **基本语法**:Java的基本语法包括变量声明、数据类型(如整型、浮点型、字符型和布尔型)、...
Java内部类是Java语言提供的一种独特特性,它允许我们在一个类的定义内部定义另一个类。这种内部类可以是成员内部类、局部内部类、匿名内部类或...学习并熟练掌握内部类的使用,能帮助你编写更加灵活和高效的Java代码。
- **实例内部类**:定义在外部类的成员位置,但不在方法内,与外部类的实例关联。 - **静态内部类**:同样定义在外部类的成员位置,但可以用static修饰,不依赖外部类的实例。 2. **类访问修饰符**: - 外部类...
Java 内部类是 Java 语言的一个重要特性,允许在一个类的定义内嵌套其他类。这使得 Java 能够实现一些特殊的编程模式,比如模拟多重继承和解决多次实现问题。内部类根据其定义的位置和用途,可以分为四种类型:成员...
"java类与对象实例" 在 Java 中,类和对象是两个紧密相连的概念。类是一种蓝图,用于创建对象,而对象是类的一个实例。类描述了对象的基本结构,包括属性、方法和事件等。类设计的关键概念包括封装、继承和多态。 ...
`Java study.doc`文件可能是包含上述知识点详细讲解的学习文档,可能涵盖了内部类的使用示例、多线程的实现方式和同步策略的解释,以及实践中的应用案例。通过深入阅读和理解这份文档,开发者可以进一步掌握Java内部...
在Java编程语言中,实例化对象是创建类的实例,使其具有...总的来说,Java实例化对象是编程中的基本操作,它涉及到类的构造,内存分配,方法调用等多个核心概念。理解这一过程对于深入学习Java和面向对象编程至关重要。
Java集合框架是Java编程...总之,这个资料包涵盖了Java集合框架和内部类的基础知识,对于想要深入理解Java编程的开发者来说,是一份宝贵的学习资源。通过学习,你可以提升在处理数据集合和实现复杂设计模式上的能力。
【Java 入门实例:classpath 和 package 详解】 学习Java对于初学者来说,尤其是在尝试编译和运行简单程序时,可能会遇到很多困扰。错误信息往往令人困惑,导致一些初学者失去学习信心。实际上,很多问题源于对...
"明明内部类"可能是指“匿名内部类”,它没有名字,通常用于简化代码和快速实现接口或抽象类的一个具体实例。当只需要一次性使用一个类,并且这个类只需要实现一两个方法时,匿名内部类是一个很好的选择。它可以...
对于每一个标签,例如"java实例","源码",都可以找到对应的实例来学习和研究。"JAVA实用程序源码百例"这个压缩包,无疑是一个宝贵的自学资源,涵盖了广泛的Java编程技术,对于渴望提高Java技能的人来说极具价值。
通过本文的学习,我们了解了如何使用Java反射技术来获取内部类中的静态成员变量的值。反射技术虽然强大,但也需要注意其使用场景和可能带来的负面影响。希望本文能帮助大家更好地理解和掌握Java反射技术的应用。
单例模式是软件设计模式中的一种经典模式,用于确保一个类只有一个实例,并提供一个全局访问点。在Java中,有多种实现单例模式的方法,每种都有其特点和适用场景。接下来,我们将深入探讨这些实现方式。 首先,我们...
### Java学习笔记——内部类详解 #### 一、引言 Java中的内部类是一个非常有用但又容易让人感到困惑的概念。内部类本质上是在另一个类的内部定义的类,它可以访问外部类的所有成员变量和方法,甚至是私有成员。...
函数对象,也称为闭包或匿名内部类,在Java中可以通过实现接口或继承抽象类来创建。函数对象可以作为参数传递给其他方法,增强了代码的灵活性。通过这些实例,你可以学习到如何使用函数对象来处理复杂逻辑。 网络...