java对象和内存控制
2012-08-01 16:22
225 查看
2.1 实例变量和类变量
变量 --> 成员变量 + 局部变量
局部变量可以分为三类:
1>形参
2>方法内部的局部变量
3>代码块内的局部变量
成员变量:
类内部定义的变量。
注意:
如果定义该成员变量时没有使用static修饰,该成员变量就称为 非静态变量或 实例变量;
如果定义该成员变量时使用static修饰,该成员变量就称为 静态变量或 类变量。
2.2 父类构造器:
***
当创建任何JAVA对象时,程序总会先依次调用每个父类非静态初始化块,父类构造器(总是从Object开始),
执行初始化,最后才调用本类的非静态初始化块、构造器执行初始化。
****
显示调用父类的构造器:
调用父类的哪个构造器执行初始化,则分为如下几种情况:
* 子类构造器执行体的第一行代码使用super显示调用父类构造器,系统将根据super调用里传入的实参列表来确定调用父类的那个构造器
* 子类构造器执行体的第一行代码使用this显示调用本类重载的构造器,系统将根据this调用里传入的实参列表来确定调用父类的那个构造器
* 子类构造器 执行中既没有super调用,也没有this调用,系统将会在执行子类构造器之前,隐式调用父类无参数的构造器
super、 this 调用都只能在构造器中使用,而且super调用和this调用都必须作为构造器的第一行代码
2.3 继承成员变量和继承方法的区别:
几乎所有的java书记、资料都会介绍:当子类继承父类时,子类会获得父类中定义的成员变量和方法。
其实这种介绍方法过于笼统: 如果子类继承父类,会继承父类中的成员变量,(如果父类和子类中的成员变量名相同)显示父类该成员变量的值,但是调用父类和子类相同的方法时候,显示的是子类的方法行为(实际类型行为)
变量 --> 成员变量 + 局部变量
局部变量可以分为三类:
1>形参
2>方法内部的局部变量
3>代码块内的局部变量
成员变量:
类内部定义的变量。
注意:
如果定义该成员变量时没有使用static修饰,该成员变量就称为 非静态变量或 实例变量;
如果定义该成员变量时使用static修饰,该成员变量就称为 静态变量或 类变量。
2.2 父类构造器:
***
当创建任何JAVA对象时,程序总会先依次调用每个父类非静态初始化块,父类构造器(总是从Object开始),
执行初始化,最后才调用本类的非静态初始化块、构造器执行初始化。
****
显示调用父类的构造器:
调用父类的哪个构造器执行初始化,则分为如下几种情况:
* 子类构造器执行体的第一行代码使用super显示调用父类构造器,系统将根据super调用里传入的实参列表来确定调用父类的那个构造器
* 子类构造器执行体的第一行代码使用this显示调用本类重载的构造器,系统将根据this调用里传入的实参列表来确定调用父类的那个构造器
* 子类构造器 执行中既没有super调用,也没有this调用,系统将会在执行子类构造器之前,隐式调用父类无参数的构造器
super、 this 调用都只能在构造器中使用,而且super调用和this调用都必须作为构造器的第一行代码
2.3 继承成员变量和继承方法的区别:
几乎所有的java书记、资料都会介绍:当子类继承父类时,子类会获得父类中定义的成员变量和方法。
其实这种介绍方法过于笼统: 如果子类继承父类,会继承父类中的成员变量,(如果父类和子类中的成员变量名相同)显示父类该成员变量的值,但是调用父类和子类相同的方法时候,显示的是子类的方法行为(实际类型行为)
相关文章推荐
- java的对象与内存控制
- java:浅谈数组与对象的内存控制
- Java 对象中变量属性的初始化时机与内存控制
- (二)Java对象与内存控制
- Java对象的内存控制
- java对象和内存的控制深入浅出
- 【疯狂Java_突破程序员基本功的16课】charpt2 对象与内存控制
- Java进阶---对象与内存控制(一)
- java对象和内存的控制深入浅出
- Java 对象及其内存控制
- (二)Java对象与内存控制
- 解析Java程序中对象内存的分配和控制的基本方法
- java基础-----------对象与内存控制
- java对象内存
- Java对象内存结构及大小计算
- JAVA内存使用--如何计算一个Java对象占用的字节数
- java的对象、对象句柄、变量等在内存的分布
- Java对象内存布局 - 小分析
- 疯狂java之数组与内存控制
- 关于java对象内存的一些总结