java思想之复用类 chapter 6

复用类分为两种情况

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

②:继承,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();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值