java思想- - ->初始化与清理

本文探讨了C语言中因变量初始化与内存回收不当导致的常见编程问题,并深入介绍了如何利用构造函数确保对象初始化。文章还讲解了构造函数的命名规则、重载方式以及如何正确使用它们。

不安全编程<安全性问题>:初始化(initialization)和清理(cleanup)

C语言中的变量的初始化,内存的回收,都会引发许多bug问题。

 

用构造函数确保初始化

  构造函数在对象创建以后,立即调用,保证初始化(还没有来得及用)。

构造函数的命名:和类的名字一样

public class Test(){

  public Test(){};

 

public void staic main(String args[]){

Test test = new Test();

//在创建对象的时候,除了分配内存外 还要调用构造函数,这样就可以保证了初始化了。

}

}

 

方法的命名规则是不适用构造函数的,构造函数是可以大写的。

构造函数可以有参数的

public class Test(){

public Test(int i ){}

}

 

如果不指定构造函数的话,java编译器会自动给一个无参的构造函数,

一旦你指定了自己的构造函数,就不能拿调用这个默认的构造函数。

 

方法的重载

  方法的重载是站在类的角度上的。

区分重载的方法:参数,参数的顺序也是可以的。

public class Test(){

public Test(){}

public Test(int i){}

public void love(){}

public void love(int i,String y){}

public void love(String y,int i){}

}

 

对primitive进行重载

 方法实际调用传递的参数【实参】的类型 比定义方法中的形参小的话,

实参就会 提升为形参【上一级的】,char会不同,会直接提升为int类型

 

方法世界调用传递的参数【实参】的类型,比定义方法中的形参大的话,

实参就会向下转换 narrowing conversion,数据会有丢失。

【注意】重载是不可以通过返回值去区分的。

example

public class Test(){

public void add(){}

public int add(){}

public void staic main(String args){

add();// the system can not know which method is right .

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值