【Java基础】--构造函数
2016-04-11 11:11
330 查看
为什么用构造函数?
1.面向对象的思想:我创建一个对象的时候,不在是我创建一个小猫,然后再设置爪子是神马颜色的,尾巴什么长度的;而是我想要一只花爪子,20cm长尾巴的猫猫,然后就能直接new出来了。
2.方便传递参数:new的时候,可以直接把参数传进对应的属性中,非常的方便。
什么是构造函数?
构造函数是一种特殊的函数,主要功能是用来创建对象时初始化对象,即对对象的成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。构造函数与类名相同,可以重载多个不同的构造函数。
构造函数==初始化默认值
构造函数的使用
1.实体里面的写法
public 类名(数据类型 属性1,数据类型 属性2,……,数据类型 属性n){
super();//调用基类的某个构造函数
this.属性1=属性1;
this.属性2=属性2;
……
this.属性n=属性n;
}
2.类的实例化
Cat a =new Cat(属性1值,属性2值,……,属性n值);
3.Eclipse快捷键
Ctrl+shift+S 选择Generate Constructor Useing Fields
构造函数的弊端
个人使用,发现构造函数确实使用也有一些弊端。
1.参数过多的情况下,传参数的时候容易传错,可以把实体里面的构造函数复制出来,对比着赋值。
2.因为是根据参数的个数来进行实例化的,所以不能有个数相同的构造函数同时出现。比如,实例化a对象需要name,sex ,weight三个属性;实例化b对象,需要name,sex,height,那么书写构造函数的时候,a对应的构造函数可用三个属性,b对应的构造函数,可用这样写name,sex height,weight,然后给weight赋值的时候,null就可以了。
总结
存在必定合理,构造函数的使用暂时还是看个人习惯,如果有别的好的建议,欢迎补充和纠正!
1.面向对象的思想:我创建一个对象的时候,不在是我创建一个小猫,然后再设置爪子是神马颜色的,尾巴什么长度的;而是我想要一只花爪子,20cm长尾巴的猫猫,然后就能直接new出来了。
2.方便传递参数:new的时候,可以直接把参数传进对应的属性中,非常的方便。
什么是构造函数?
构造函数是一种特殊的函数,主要功能是用来创建对象时初始化对象,即对对象的成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。构造函数与类名相同,可以重载多个不同的构造函数。
构造函数==初始化默认值
构造函数的使用
1.实体里面的写法
public 类名(数据类型 属性1,数据类型 属性2,……,数据类型 属性n){
super();//调用基类的某个构造函数
this.属性1=属性1;
this.属性2=属性2;
……
this.属性n=属性n;
}
2.类的实例化
Cat a =new Cat(属性1值,属性2值,……,属性n值);
3.Eclipse快捷键
Ctrl+shift+S 选择Generate Constructor Useing Fields
构造函数的弊端
个人使用,发现构造函数确实使用也有一些弊端。
1.参数过多的情况下,传参数的时候容易传错,可以把实体里面的构造函数复制出来,对比着赋值。
2.因为是根据参数的个数来进行实例化的,所以不能有个数相同的构造函数同时出现。比如,实例化a对象需要name,sex ,weight三个属性;实例化b对象,需要name,sex,height,那么书写构造函数的时候,a对应的构造函数可用三个属性,b对应的构造函数,可用这样写name,sex height,weight,然后给weight赋值的时候,null就可以了。
总结
存在必定合理,构造函数的使用暂时还是看个人习惯,如果有别的好的建议,欢迎补充和纠正!
相关文章推荐
- struts2中<s:select>标签的使用
- Spring中的事务管理
- 【Thinking in Java读书笔记】如何安全的终止线程
- JAVA学习---集合系列---Vector
- 从Solr卡顿到G1垃圾回收
- Java 单例真的写对了么?
- LeetCode 287 -Find the Duplicate Number ( JAVA )
- java字符、字节、位
- ubuntu下 验证码出不来问题 java.lang.Error: Probable fatal error:No fonts found.
- Myeclipse 的配置与使用
- java嵌套类和内部类
- Java基础
- Java String的一些方法使用
- java中equals和==以及toString
- JAVA回调机制
- java中super和this
- Java编程介绍
- JAVA学习---集合系列---ArrayList
- 2016华为机试题(java版):两个大数相减的程序(运行成功)
- eclipse中svn的使用