Java编程思想笔记第5章

方法重载

区分重载方法:每一个重载的方法都有一个独一无二的参数类型列表。
涉及基本数据类型的重载:基本数据类型能从一个较小的类型自动提成至一个较大的类型,如果传入的实际参数较大,就通过类型转换来执行窄化转换。(char类型如果无法找到char参数的方法,则会直接提升至int型)
无法通过返回值区分方法的重载

默认构造器

默认构造器是没有形式参数的,它的作用是创建一个默认对象,如果你的类中没有构造器,则编译器会自动帮你创建一个默认构造器,如果已经定义了一个构造器,则编译器就不会再帮你自动创建构造器。

this关键字

this关键字只能在方法的内部使用,表示对调用该方法的对象的引用,this的用法和其他对象引用并无不同。
在构造器中调用构造器,使用关键字this。注意,虽然可以使用this调用一个构造器,但是不用调用两个,而且必须将构造器调用置于最起始处,否则编译器报错。

public class A{
int xx = 0;
String ss = "";
	A(String ss){//一个参数的构造器
	this.ss = ss;
	}
	A(String ss, int xx){//实现在构造器内部调用构造器
		this("dxp");//调用上一个只有一个参数的构造器,且必须放在第一行。
		this.ss = ss;
		this.xx = xx;
	}
}

static关键字
static方法就是没有this的方法。在static方法的内部不能调用非静态方法。static的主要作用就是在类没有创建任何对象的前提下,仅仅通过类本身来调用static方法。

终结处理和垃圾回收

为什么说垃圾回收并不一定会发生?
因为在程序执行过程中,只要是内存空间没有濒临用完的那一刻,对象所占用的空间就不会得到释放,如果这些程序执行结束,并且垃圾回收器一直都没有释放你所创建的任何对象的存储空间,则随着程序的退出,那些资源也会全部交还给操作系统,这种策略是合理的,因为垃圾回收本身也会有开销,如果不是必须使用,则就不需要支付这一部分的开销。
finalize()的用途
使用垃圾回收器的唯一原因是为了回收程序不再使用的内存。而且是java对象之外所分配的内存,但是由于java中一切皆为对象,所以说finalize()的使用主要是在程序使用了本地方法的情况下,比如在java中调用了C++的代码,则需要在finalize()中调用free()来释放内存,否则会造成内存泄漏。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值