Java构造方法初识

 目录

为什么要有构造方法

构造方法

作用:

格式:

构造方法的使用

如何给构造方法赋值

构造方法可重载

构造方法和一般方法的区别


 

为什么要有构造方法

 

我们知道,代码执行出的效果越接近现实世界,越说明它反应出了现实生活中的需求。例如,我们新建一个“人”class,我们为这个类附加上“人”的吃饭穿衣属性。代码运行的过程中,只要调用到了人的吃饭穿衣属性,程序就会把对应的效果呈现给用户。

的确很厉害,可是在现实世界中,很多东西不是“后天得到或学会的”,就比如人出生就有性别和年龄,这些属性是无需人为调用出来的,因为他们一直存在。

我们把这个例子应用在程序中,也就是说它实际上不能在调用方法的时候才显示,只要“人”出来了,它的性别年龄就自然而然的出来了。那么这样的代码怎么写?这就需要用到构造方法了。

 

 

构造方法

 

作用:构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法。

格式: 方法的名字必须和类的名字完全一致。构造方法不允许写返回值类型,void也不能写。命名格式如下


 
 
  1. public 类名称(参数类型 参数名称) {
  2. 方法体
  3. }

 

 

构造方法的使用——用个例子来体会

 

Person类


 
 
  1. public class Person {
  2. private String name;
  3. private int age;
  4. //定义Person类的构造方法
  5. public Person(){
  6. System.out.println( "我是一个空参数的构造方法");
  7. }
  8. }

 

Test测试类


 
 
  1. public class Test {
  2. public static void main(String[] args) {
  3. Person p = new Person();
  4. }
  5. }

 

打印出来的是这样的~

 

请看,是不是person实例化了一个对象,这个对象就像刚出生的小孩一样有性别和年龄了~~~

 

 

如何给构造方法赋值

 

 person类


 
 
  1. public class Person {
  2. private String name;
  3. private int age;
  4. //定义Person类的构造方法
  5. public Person(String name,int age){
  6. this.name = name;
  7. this.age = age;
  8. }
  9. public String getName() {
  10. return name;
  11. }
  12. public void setName(String name) {
  13. this.name = name;
  14. }
  15. public int getAge() {
  16. return age;
  17. }
  18. public void setAge(int age) {
  19. this.age = age;
  20. }
  21. }

 

Test类


 
 
  1. public class Test {
  2. public static void main(String[] args) {
  3. Person p = new Person( "张三", 20);
  4. //对象p调用方法getName,geAge
  5. System.out.println(p.getName());
  6. System.out.println(p.getAge());
  7. }
  8. }

 

 

仔细看下我们是在哪里给姓名和属性赋值的?

 

 

构造方法可重载

 

因为可以重载,所以当你新建一个测试类,分别调用这两个构造方法时,显示的结构是不同的~ 


 
 
  1. //带参数的构造方法
  2. public Person(String name,int age){
  3. this.name = name;
  4. this.age = age;
  5. }
  6. //不带参数的构造方法
  7. public Person(){
  8. }

 

 

构造方法和一般方法的区别

 

从定义上看:

构造方法的名字必须有固定的格式,不能更改(格式要求在上文)。而其他方法名字可以自己定义,可以有void等等。

 

从执行上看: 

构造方法在对象创建时就已经执行了,而且只执行一次。其他方法可以自己手动调用,想调用几次就调用几次。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值