- 博客(8)
- 资源 (1)
- 收藏
- 关注
转载 类成员的初始化顺序
大家在去参加面试的时候,经常会遇到这样的考题:给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和一些变量,构造器里可能还有一段代码对变量值进行了某种运算,另外还有一些将变量值输出到控制台的代码,然后让我们判断输出的结果。这实际上是在考查我们对于继承情况下类的初始化顺序的了解。 我们大家都知道,对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变
2012-07-31 14:50:33 898
转载 JAVA动态绑定的内部实现机制
JAVA虚拟机调用一个类方法时,它会基于对象引用的类型(通常在编译时可知)来选择所调用的方法。相反,当虚拟机调用一个实例方法时,它会基于对象实际的类型(只能在运行时得知)来选择所调用的方法,这就是动态绑定,是多态的一种。动态绑定为解决实际的业务问题提供了很大的灵活性,是一种非常优美的机制。1 JAVA对象模型 JAVA虚拟机规范并没有规定JAVA对象在堆里是如何表示的。对象的内部表示
2012-07-31 14:30:07 518
转载 Java动态绑定 静态绑定
http://blog.sina.com.cn/s/blog_59c9412d0100g7is.html 运行时绑定也叫动态绑定,它是一种调用对象方法的机制。Java调用对象方法时,一般采用运行时绑定机制。1.Java的方法调用过程编译器查看对象的声明类型和方法名(对象变量的声明类型)。通过声明类型找到方法列表。编译器查看调用方法时提供的参数类型。如果方法是private、st
2012-07-31 14:05:28 806
转载 构造器的继承
在java中,经常使用到继承,子类从父类中继承可继承的域和方法。而关于构造器的构造器却和一般的继承有很大不同。以下面为例。 Java代码 package Thinking; public class Father{ public int n; public Father(int n){
2012-07-30 16:42:21 3744
转载 Java中final 关键字相关 JVM编译static,final
我还是老习惯,最上来讲下我遇到的问题吧 问题是关于3个简单的程序,他们之间的变化甚微,但是结果有些出忽意料让我们来看看这3个程序吧第一个程序public class Test01 { public static void main(String[] args) { System.out.println("Test01 main in
2012-07-09 21:04:55 1348
转载 匿名内部类
匿名内部类 匿名内部类适合创建那种只需要一次使用的类,例如命令模式时所需要的Command对象。匿名内部类的语法有点奇怪,创建匿名内部类时会立即创建一个该类的实例,这个类定义立即消失,匿名内部类不能重复使用。 定义匿名内部类的格式如下: new 父类构造器(参数列表)|实现接口() { //匿名内部类的类体部分 } 从上面定义可以看出,匿名内部类必须继
2012-07-07 01:44:31 1211
转载 匿名内部类 是否可以继承其它类,是否可以实现接口
Inner Class(内部类)定义在类中的类。Nested Class(嵌套类)是静态(static)内部类。1. 要创建嵌套类的对象,并不需要其外围类的对象。 2. 不能从嵌套类的对象中访问非静态的外围类对象。Anonymous Inner Class (匿名内部类)匿名的内部类是没有名字的内部类。匿名的内部类不能extends(继承)其它类,但一个内部类可以作为一个接口,由另一个
2012-07-06 22:02:42 45338 3
转载 深度解析Java内存的原型及工作原理
本文主要通过分析Java内存分配的栈、堆以以及常量池详细的讲解了其的工作原理。 一、java虚拟机内存原型 寄存器:我们在程序中无法控制栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中堆:存放用new产生的数据静态域:存放在对象中用static定义的静态成员常量池:存放常量非RAM存储:硬盘等永久存储空间。 二、常量池(constant pool)
2012-07-06 13:30:33 1041
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人