IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 第二关:构造方法 -> 正文阅读

[Java知识库]第二关:构造方法


任务描述

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

相关知识

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

什么是构造方法

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

举个例子:

输出:

我被调用了

怎么定义和使用构造方法

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

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

  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 **********/
    

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-03-22 20:22:50  更:2022-03-22 20:24:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:56:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码