java思想之复用类 chapter 6

来源:互联网 发布:三级域名有哪些 编辑:程序博客网 时间:2024/06/05 16:02

复用类分为两种情况

①:在新类中创建旧类的对象。

②:继承,inheritance

 

对象作为参数传递的时候,主要传递他们的reference就可以了

primitive类型的对象是没有reference的,它们是直接定义的。

 

所有的非primitive对象都会有一个toString();方法。

 

primitive对象作为成员变量的时候会自动初始化为0,

非primitive对象的reference会自动初始化为null,这样可以节省不必要的性能开销。

 

初始化的时间:

①:定义的时候初始化,在调用构造函数之前就完成了初始化的工作。

②:在构造函数里初始化

☂:在使用之前初始化,成为lazy initialization。

 

继承的使用;;;;

继承我们在oop语言中很重要,在你创建对象的时候你已经做继承的工作。

显示的继承,隐藏的继承(基于object)

 

 基类的初始化

基类会在调用子类的构造函数之前进行初始化工作

example:

public class Animail{

 public Animal(){Sysout.out.println("animal construtor")}

}

 

public class Bird extends Animal{

public Bird(){Sysout.out.println("Bird construtor")}

}

public class Maqueextends Bird{

public Maque(){Sysout.out.println("Maque construtor")}

public void static main(String [] args){

Maque maque = new Maque();

}

}

println information:

animal construtor

Bird construtor

Maque construtor

 

带参数的构造函数

对于子类来说 调用基类的构造函数是首要的任务

如果基类的构造函数是带有参数的,那么你在子类中就要显示的调用基类的构造函数 super(参数);

exmape

public class People{

public People(int i){}

}

public class Manextends People{

public Man(int i ){super(i)}

}

 

 继承和合成的集合使用

 

java编译器 会验证基类的初始化,但是不会验证成员变量的初始化,需要程序员自己注意。

 

垃圾回收器

java 不知道什么时候启动垃圾回收器,如果自己定义的时候 可以定义垃圾回收的顺序。

 

java中的所谓的上传

examp

public class Animal{

static void getAnimal( Animal a){

 

}

}

 

public class Bird{

public staic void main(String [] args){

Bird b = new Bird();

Animal.getAnimal();

}

}

原创粉丝点击