第二关:构造方法


任务描述

本关任务:创建对象给对象定义无参构造方法和有参构造方法。

相关知识

为了完成本关任务,你需要掌握:1.什么是构造方法,2.如何定义和调用构造方法。

什么是构造方法

构造方法:对象被创建的时候会调用的方法,对象在被创建的时候,也就是被new的时候,会自动调用构造方法

举个例子:

810490cbc1148ee5dfdc76de895ac56a.png

输出:

我被调用了

怎么定义和使用构造方法

怎么定义构造方法呢?构造方法和我们之前学习的方法又有啥区别呢?
请看图:

484647b416551b6b6667d042794f5341.png

看出区别来了吗?
好,我来总结一下,看你是否能在上图中找出相对应的代码:

  1. 构造方法可以有参数,也可以无参数;

  2. 构造方法无返回值,也不需要声明void关键字;

  3. 构造方法名必须和类名相同。

接下来我在main方法中创建Student对象代码如下:

 
  1. public static void main(String[] args){
  2. Student stu = new Student();
  3. Student stu1 = new Student("张三");
  4. }

你觉得会有输出吗,如果有那么输出结果会是什么呢?如果没有那你觉得原因是什么呢?

编程要求

根据提示,在右侧编辑器Begin-End处补充代码:

  • 创建一个Person类,给Person类定义一个无参构造方法和一个有参构造方法,有参构造方法定义两个String类型参数namesexmain方法中调用无参构造和有参构造方法;

  • 调用无参构造方法输出:一个人被创建了

  • 调用有参构造方法应根据输入的数据输出对应的结果,如输入:张三,则输出:姓名:张三,性别:男,被创建了

测试说明

测试输入:张富贵未知
预期输出:
一个人被创建了
姓名:张富贵,性别:未知,被创建了

总结:
对象的构造方法:
对象在被创建的时候,也就是被new的时候,会自动调用构造方法。

  1. 在构造方法中可以做对象初始化操作,有如下特征;

  2. 构造方法与对象的方法不同,它是在对象创建时自动调用的;

  3. 构造方法可以有参数,也可以无参数;

  4. 构造方法无返回值;

  5. 构造方法名必须和类名相同;

  6. 如果定义的类没有声明构造方法,对象在创建时默认使用空的构造方法。

  7. package step2;
    
    import java.util.Scanner;
    
    public class Test {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		String name = sc.next();
    		String sex = sc.next();
    		/********** Begin **********/
    		//分别使用两种构造器来创建Person对象  
    		Person p=new Person();
    		Person p1=new Person(name,sex);
    		
    
    
    		/********** End **********/
    		
    	}
    }
    
    //创建Person对象,并创建两种构造方法
    /********** Begin **********/
    class Person{
    	String name1;
    	String sex1;
    	public Person()
    	{
    		System.out.println("一个人被创建了");
    	}
    	public Person(String name,String sex)
    	{ // this.name1=name;
    	    //this.sex1=sex;
    	   
            System.out.println("姓名:"+ name +",性别:" + sex +",被创建了");
    		
    
    	}
    
    
    
    }
    
    
    /********** End **********/
    

猜你喜欢

转载自blog.csdn.net/qq_58259539/article/details/123643168
今日推荐