java对象和内存控制

来源:互联网 发布:java中级工程师脱产班 编辑:程序博客网 时间:2024/05/16 09:05

2.1 实例变量和类变量

变量 -->   成员变量  +  局部变量

局部变量可以分为三类:

1>形参

2>方法内部的局部变量

3>代码块内的局部变量

 

成员变量:

类内部定义的变量。

 

注意:

        如果定义该成员变量时没有使用static修饰,该成员变量就称为        非静态变量或 实例变量;

        如果定义该成员变量时使用static修饰,该成员变量就称为                静态变量或 类变量。

 

2.2     父类构造器:

***

当创建任何JAVA对象时,程序总会先依次调用每个父类非静态初始化块,父类构造器(总是从Object开始),

执行初始化,最后才调用本类的非静态初始化块、构造器执行初始化。

****

显示调用父类的构造器:

调用父类的哪个构造器执行初始化,则分为如下几种情况:

 

*  子类构造器执行体的第一行代码使用super显示调用父类构造器,系统将根据super调用里传入的实参列表来确定调用父类的那个构造器

*   子类构造器执行体的第一行代码使用this显示调用本类重载的构造器,系统将根据this调用里传入的实参列表来确定调用父类的那个构造器

*   子类构造器 执行中既没有super调用,也没有this调用,系统将会在执行子类构造器之前,隐式调用父类无参数的构造器

 

super、 this 调用都只能在构造器中使用,而且super调用和this调用都必须作为构造器的第一行代码

 

2.3   继承成员变量和继承方法的区别:

几乎所有的java书记、资料都会介绍:当子类继承父类时,子类会获得父类中定义的成员变量和方法。

        其实这种介绍方法过于笼统:   如果子类继承父类,会继承父类中的成员变量,(如果父类和子类中的成员变量名相同)显示父类该成员变量的值,但是调用父类和子类相同的方法时候,显示的是子类的方法行为(实际类型行为)