Java基础学习之构造方法详解

 更新时间:2022年08月24日 09:48:32   作者:夏志121  
这篇文章主要为大家详细介绍了Java基础学习中构造方法的概述及注意事项,文中的示例代码讲解详细,对我们学习Java有一定帮助,需要的可以参考一下

一、构造方法概述

构造方法是一种特殊的方法

作用:创建对象Student stu = new Student();

格式:

pucli class 类名{
        修饰符 类名(参数){
        }

}

功能:主要是完成对象数据的初始化

示例代码:

class Student {
    private String name;
    private int age;
    //构造方法
    public Student() {
        System.out.println("无参构造方法");
    }
    public void show() {
        System.out.println(name + "," + age);
    }
}
/*
    测试类
 */
public class StudentDemo {
    public static void main(String[] args) {
        //创建对象
        Student s = new Student();
        s.show();
    }
}

二、构造方法的注意事项

构造方法的创建

如果没有定义构造方法,系统将给一个默认的无参构造方法,如果定义了构造方法,系统将不再提供默认的构造方法

构造方法的重载

如果自定义了无参构造方法,还要使用无参构造方法,就必须再写一个无参数构造方法

推荐的使用方式

无论是否使用,都手工书写无参数构造方法

重要功能

可以使用带参构造,为成员变量进行初始化

示例代码:

/*
    学生类
 */
class Student {
    private String name;
    private int age;
    public Student() {}
    public Student(String name) {
        this.name = name;
    }
    public Student(int age) {
        this.age = age;
    }
    public Student(String name,int age) {
        this.name = name;
        this.age = age;
    }
    public void show() {
        System.out.println(name + "," + age);
    }
}
/*
    测试类
 */
public class StudentDemo {
    public static void main(String[] args) {
        //创建对象
        Student s1 = new Student();
        s1.show();
        //public Student(String name)
        Student s2 = new Student("小红");
        s2.show();
        //public Student(int age)
        Student s3 = new Student(30);
        s3.show();
        //public Student(String name,int age)
        Student s4 = new Student("小红",20);
        s4.show();
    }
}

三、标准类制作

需求:定义标准学生类,要求分别使用空参和有参构造方法创建对象,空参创建的对象通过setXxx赋值,有参创建的对象直接赋值,并通过show方法展示数据

示例代码:

class Student {
    //成员变量
    private String name;
    private int age;
    //构造方法
    public Student() {
    }
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
    //成员方法
    public void setName(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public int getAge() {
        return age;
    }
    public void show() {
        System.out.println(name + "," + age);
    }
}
/*
    创建对象并为其成员变量赋值的两种方式
        1:无参构造方法创建对象后使用setXxx()赋值
        2:使用带参构造方法直接创建带有属性值的对象
*/
public class StudentDemo {
    public static void main(String[] args) {
        //无参构造方法创建对象后使用setXxx()赋值
        Student s1 = new Student();
        s1.setName("小红");
        s1.setAge(20);
        s1.show();
        //使用带参构造方法直接创建带有属性值的对象
        Student s2 = new Student("小红",20);
        s2.show();
    }
}

到此这篇关于Java基础学习之构造方法详解的文章就介绍到这了,更多相关Java构造方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于java实现简单的图片类别识别

    基于java实现简单的图片类别识别

    这篇文章主要为大家详细介绍了如何基于java实现简单的图片类别识别功能,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-12-12
  • SpringBoot实现文件上传下载功能小结

    SpringBoot实现文件上传下载功能小结

    最近做的一个项目涉及到文件上传与下载功能。SpringBoot后台如何实现文件上传下载呢?下面有单文件上传和多文件上传功能,感兴趣的朋友一起看看吧
    2017-08-08
  • Java实现随机验证码功能实例代码

    Java实现随机验证码功能实例代码

    在这里,我们使用servlet来实现随机验证码的实现,有需要的朋友可以参考一下
    2013-08-08
  • Java中的值传递和引用传递区别解析

    Java中的值传递和引用传递区别解析

    这篇文章主要介绍了Java中的值传递和引用传递区别解析,引用类型的变量保存引用值,“引用值”指向内存空间的地址,代表了某个对象的引用,而不是对象本身,对象本身存放在该引用值所表示的地址的位置,包含:数组、类、接口,需要的朋友可以参考下
    2023-11-11
  • 使用Spring Cache和Redis实现查询数据缓存

    使用Spring Cache和Redis实现查询数据缓存

    在现代应用程序中,查询缓存的使用已经变得越来越普遍,它不仅能够显著提高系统的性能,还能提升用户体验,在这篇文章中,我们将探讨缓存的基本概念、重要性以及如何使用Spring Cache和Redis实现查询数据缓存,需要的朋友可以参考下
    2024-07-07
  • 显示SonarQube私有项目徽章方案流程

    显示SonarQube私有项目徽章方案流程

    这篇文章主要为大家介绍了如何显示SonarQube私有项目徽章方案的流程,sonarQube目前不支持私有项目的徽章图片获取,这个问题早在 2018年就在sonar社区里有过激烈的讨论,至今无果,只能自己寻求一种可以快速实施的方案
    2022-02-02
  • maven仓库访问顺序小结

    maven仓库访问顺序小结

    在日常操作中,相信很多人在maven仓库的优先级顺序是什么问题上存在疑惑,本文就来介绍一下maven仓库访问顺序,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • 解决netty中spring对象注入失败的问题

    解决netty中spring对象注入失败的问题

    这篇文章主要介绍了解决netty中spring对象注入失败的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • springboot集成ES实现磁盘文件全文检索的示例代码

    springboot集成ES实现磁盘文件全文检索的示例代码

    这篇文章主要介绍了springboot集成ES实现磁盘文件全文检索的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • SpringBoot EasyPoi动态导入导出的两种方式实现方法详解

    SpringBoot EasyPoi动态导入导出的两种方式实现方法详解

    项目里使用的是EasyPoi来处理导入导出功能的。近日因业务需求调整,一些导出功能的导出列需要根据不同的条件动态导出
    2022-09-09

最新评论