对象构造知识点学习

  • 整理笔记

4.6对象构造

4.6.1 重载.

1. 方法签名不同
	当方法名相同,参数却不同,这就表示签名不同. 可以实现继承等

Alt
2. 重载
当方法名相同,参数却不同,表示签名不同. 同时也产生了重载. java允许重载任何方法,而不只是构造器方法。
返回类型不是方法签名的一部分,也就是说不能有两个名字相同、参数类型也相同却返回不同类型值的方法。

4.6.2 默认域初始化

如果在构造器时,没有赋予显示初值,就会自动为默认初值,null,0,false

4.6.3无参构造器

如果在编写一个类时没有编写构造器,那么系统就会提供- -个无参数构造器。且自动默认初值,实例域中的数值型为0、布尔型数据为false.对象变量为null。
什么是构造器?
	方法名和类名相同.

4.6.4显示域初始化

由于类构造器可重载,可在实例域赋初值.  
 比如 如下代码和注释
	 public class Person{
	 	头的数="1";      //这就类的显示域初始化
	 	public Person(){  
	 		name="";  //这是构造器的显示域初始化
	 		zubashu=1;
	 	}
	  }

4.6.5参数名

public Person(int atoudeshu int bheight){
this.toudeshu;
this.height;
}

这样写参数名 比只写一个 a,b 跟容易被别人理解!!!

4.6.6调用另一构造器

调用另一个构造器关键字this引用方法的隐式参数。然而如果构造器的第一个语句形如this(...),这个构造器将调用同一个类的另一个构造器。
this(….)方法必须出现在构造器中的第一行,用来调用其他重载构造器。调用时参数必须严格匹配。~
这样对公共的构造器代码部分只编写一次就行,实现了代码的复用.
比如
public class Teacher {
	private String name;           
}
public Teacher(String name){
	this(name,"男"); //必须放在第一行!!!
	System.out.println("必须放在第一行!!!!");
}

4.6.7初始化块

三种初始化数据域的方法:

  • 在构造器中设置值
  • 在声明中赋值实际上
  • 初始化
    *在一个类的声明中,可以包含多个代码块。只要构造类的对象,这些块就会被执行。
    例如:

4.6.8对象析构与finalize方法

  • 因为java有垃圾回收器,不需要人工回收内存 ,所以没有对象析构器(C++有).

    当然,某些对象使用了内存之外的其他资源,例如,文件或使用了系统资源的另一个对象的资源句柄。在这种情况下,可以将不需要的资源回收.
    可以为任何一个类添加finalize方法。finalize方法调用时间: 将在垃圾回收器清除对象之前.
    在实际应用中,不要依赖于使用finalize方法回收任何短缺的资源,这是因为很难知道这个方法什么时候才能够调用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值