构造方法与方法重载(Overload)
来源:互联网 发布:国内实时数据库 编辑:程序博客网 时间:2024/06/06 02:57
java的构造方法与方法重载
public class Person { String name; //用于描述姓名的成员变量 int age; //用于描述年龄的成员变量 //自定义无参的构造方法 Person(){ //构造方法的方法名称与类名完全一致 } //自定有有参的构造方法,能够接受姓名和年龄作为实参 Person(String s,int i){ //构造方法的方法名称与类名完全一致 name = s; age = i; } //自定义成员方法实现姓名和年龄的打印 void show(){ System.out.println("我是"+name+",今年"+age+"岁了!"); } //自定义成员方法实现参数传入姓名的打印 void show(String s){ System.out.println("传入的姓名是:" + s); } public static void main(String[] args) { //main()方法 //创建Person类型的对象并使用引用变量进行记录 Person p = new Person(); //当调用一个方法时,根据方法名跳转过去执行方法体语句,执行完毕跳转回来 //如:调用show()方法 p.show(); //null 0 //表示又创建了一个对象,并将地址记录到p2中 Person p2 = new Person("张飞",30); p2.show(); //张飞 30 p2.show("关羽"); //传入的姓名是:关羽 }}
a)、构造方法的方法名称与类名完全一致,以至于大小写都一模一样。
b)、构造方法没有返回值,连void都没有。
c)、当创建一个新的对象的时,会自动调用构造方法来进行该对象中成员变量的初始化工作。
默认构造方法
当自定义类总没有声明任何形式的构造方法时,编译器则会自动添加一个无参的空构造方法。叫做默认构造方法。
但是类中如果自定义了构造方法,编译器就不再会提供任何形式的构造方法。
方法的重载
在同一个类中,方法名相同参数列表不同的方法之间构成重载关系(OVERLOAD)。
public class TestOverload { void show(){ System.out.println("show()"); } void show(int i){ //可以构成重载,体现在参数的个数不同 System.out.println("show(int)"); } void show(double d){ //可以构成重载,体现在参数的类型不同 System.out.println("show(double)"); } void show(int i,double d){ System.out.println("show(int, double)"); } void show(double d,int i){ //可以重载体,体现在参数的顺序不同 System.out.println("show(double, int)"); } public static void main(String[] args) { TestOverload to = new TestOverload(); to.show(); to.show(33); to.show(0.25); to.show(66,0.25); to.show(3.14,33); }}
方法重载的主要形式有:
- 参数的个数不同
- 参数的类型不同
- 参数的顺序不同
与形参变量名和返回值类型无关,但是建议返回值类型最好相同。
判断方法是否重载的方法:判断调用方法能不能加以区分。
方法重载的意义(作用)在于:
调用者只需要记住一个方法名就可以调用各种不同的版本,从而实现多种类型数据的处理。
阅读全文
0 0
- 构造方法与方法重载(Overload)
- java方法的重载(overload)与重写(override)的区分与构造方法的重载
- 构造方法与重载
- 构造方法与重载
- 静态方法overload重载
- 方法重载Overload
- java6:方法重载(overload)
- 方法的重载(overload)
- 方法重载(overload)
- Java OverLoad(方法重载)
- 构造方法与方法重载
- 方法重载与构造方法重载
- overload与override(方法重载与方法重写)
- Java方法重载(Overload)与方法重写(Override)
- java 的方法重载overload
- [java]静态方法overload重载
- C#方法重载(overload)
- java中的方法重载 overload
- 菜鸟程序员对于html页面布局的疑问
- 求两个集合的交集
- 数组
- SSH整合
- JVM调优-java虚拟机内存模型及参数设置
- 构造方法与方法重载(Overload)
- 易接SDK接入:Android手游支付功能接口实现,完整代码奉上
- Win10 如何以管理员身份设置开机自启程序(1)
- mycat结合MySQL双主实现读写分离
- 《移动Web前端高效开发实战》笔记2——使用Gulp构建一个ECMAScript 6和Sass应用
- 【数值计算】花式解线性方程组
- Spring中事务的实现原理
- HDU
- linux用户管理(2)----修改用户模式(usermod,sudo权限等)