初始化与清理
Posted zan-iuuu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初始化与清理相关的知识,希望对你有一定的参考价值。
通过关键字new 类名();创建对象存放在堆上,返回一个对象引用
类被实例化是通过 new 类名(); 完成的,对象的创建和初始化被糅合在一起,通过构造器完成这种耦合,因此必须存在构造器,才能保证类的实例化正确执行
构造器保证实例化对象正常被初始化,默认构造器(当没有创建任何构造器时),重载构造器(当自定义创建构造器时,默认构造器失效)
构造器没有返回值,注意:没有返回值和返回值为void不同;
方法的重载
通过参数列表的不同来区别方法重载,参数列表位置不同同样也可以区分方法重载,不过对于方法的调用者不友好,位置信息不能反映出具体的实际意义;
方法的返回值是否可以区分方法重载
重载是实现编译期的多态性
当编译器可以根据语境正确判断语义的时候,是可以区分的(但是在这样定义时,编译会不通过,Java不允许通过方法返回值来区分重载方法)
void f(){}
int f(){ return 1;}
例如根据 int x = f(); 是可以区分出调用那个方法的
但是对方法的调用并不是一直关注着方法的返回值的(有时确实需要关注方法的返回值),有时更需要的是方法调用的其他效果(方法内部处理逻辑),这时会忽略方法的返回值
当出现 f();Java是判断不出该调用那个方法的
this关键字
this指的是当前对象的引用,对方法调用时,参数名字和字段名字相同时,为分区歧义,通过this.parameter.parameter;
以上是关于初始化与清理的主要内容,如果未能解决你的问题,请参考以下文章