java构造方法的作用是什么_java中的构造方法与其作用

什么是构造方法呢?

方法名和类名相同

没有返回值类型,连void都不能写

没有具体的返回值

构造方法分为无参构造方法与有参构造方法。

先来看一下最简单的无参构造方法:

Student.java

1 packagecom.pr;2

3 public classStudent {4 publicStudent(){5 System.out.println("这是一个构造方法");6 }7 }

StudentDemo.java

packagecom.pr;public classStudentDemo {public static voidmain(String[] args){

Student s= newStudent();

}

}

输出结果:这是一个构造方法

把Student.java的4-6行删除了。可以发现StudentDemo.java没有报错。为什么呢?

因为,如果我们没有给出构造方法时,系统会提供一个默认的无参构造方法供我们使用。

有参构造方法

Student.java

1 packagecom.pr;2

3 public classStudent {4 privateString name;5 private intage;6 publicStudent(){}7 publicStudent(String name){8 this.name =name;9 }10 public Student(intage){11 this.age =age;12 }13 public Student(String name,intage){14 this.name =name;15 this.age =age;16 }17 public voidshow(){18 System.out.println("age:"+age+",name:"+name);19 }20 }

StudentDemo.java

1 packagecom.pr;2

3 public classStudentDemo {4 public static voidmain(String[] args){5 Student s = newStudent();6 s.show();7 Student s1 = new Student("小明");8 s1.show();9 Student s2 = new Student(20);10 s2.show();11 Student s3 = new Student("小明",18);12 s3.show();13 }14 }

输出结果为:

age:0,name:null

age:0,name:小明

age:20,name:null

age:18,name:小明

把Student.java的第6行删除了,发现StudentDemo.java的第5行报错了。为什么呢?

因为,当我们给出了构造方法时,系统就不再提供默认的构造方法供我们使用。

所以,我们最好手动写一下无参的构造方法。

还有需要注意的是,可以看出,构造方法可以被重载。

构造方法的作用:

有了类,就是有了可以重用的代码,但是我怎么产生这个对象呢。必须要实例化这个类(当然这不是唯一产生对象的途径,比如单例模式,但本质上说所有途径都是一样的)。那么就要用到构造方法。即告诉程序我现在要实例化一个对象了,你给我马上分配内存。将内存的首地址赋给我指定的类对象。而且有时候你需要传递参数到函数里面,有了构造函数就方便了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【完整课程列表】 完整资源地址:https://download.csdn.net/download/qq_27595745/55587888 优质java课件 java程序设计教程(第6版)01.计算机系统概述(共42页).ppt 优质java课件 java程序设计教程(第6版)02.数据与表达式(共62页).ppt 优质java课件 java程序设计教程(第6版)03.使用类和对象(共49页).ppt 优质java课件 java程序设计教程(第6版)04.编写类(共61页).ppt 优质java课件 java程序设计教程(第6版)04.类的复习(共9页).ppt 优质java课件 java程序设计教程(第6版)04.期回顾 类、构造方法(共18页).ppt 优质java课件 java程序设计教程(第6版)05.深入的条件判断和循环(共28页).ppt 优质java课件 java程序设计教程(第6版)05.条件和循环语句(共58页).ppt 优质java课件 java程序设计教程(第6版)05.条件判断和循环复习(共23页).ppt 优质java课件 java程序设计教程(第6版)06.面向对象设计(共84页).ppt 优质java课件 java程序设计教程(第6版)06.期复习 类和对象(共11页).ppt 优质java课件 java程序设计教程(第6版)06.最后一次课 静态修饰(共21页).ppt 优质java课件 java程序设计教程(第6版)07.数组(共57页).ppt 优质java课件 java程序设计教程(第6版)07.数组复习(共19页).ppt 优质java课件 java程序设计教程(第6版)08.继承(共14页).ppt 优质java课件 java程序设计教程(第6版)09.多态性(共41页).ppt 优质java课件 java程序设计教程(第6版)10.异常(共56页).ppt

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值