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构造方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决SpringBoot项目启动成功但接口访问404的问题

    解决SpringBoot项目启动成功但接口访问404的问题

    这篇文章主要介绍了如何解决SpringBoot项目启动成功但接口访问404的问题,具有很好的参考价值,希望对大家有所帮助,接下来就跟着小编一起来看看吧
    2023-07-07
  • SpringBoot内置tomcat参数调优的实现

    SpringBoot内置tomcat参数调优的实现

    springboot内置了tomcat, 并给我们设置了默认参数, 我们怎么样修改springboot内置的tomcat参数,本文就详细的来介绍一下,感兴趣的可以了解一下
    2023-09-09
  • IDEA下SpringBoot指定配置文件启动项目的全过程

    IDEA下SpringBoot指定配置文件启动项目的全过程

    我们在使用springboot项目开发的时候,每次切换环境跑项目的时候,都得修改配置文件的数据库地址,这样来回修改感觉很麻烦,这篇文章主要给大家介绍了关于IDEA下SpringBoot指定配置文件启动项目的相关资料,需要的朋友可以参考下
    2023-06-06
  • 详解JAVA中的for-each循环与迭代

    详解JAVA中的for-each循环与迭代

    本文详解了JAVA中的for-each循环与迭代,是JS入门学习中的基础知识,也是java中的难点知识,需要的朋友可以参考下 。
    2016-10-10
  • idea搭建ssh框架的超详细教程

    idea搭建ssh框架的超详细教程

    这篇文章主要介绍了idea搭建ssh框架的超详细教程,本文通过图文实例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • IDEA maven上传速度很慢的解决办法

    IDEA maven上传速度很慢的解决办法

    maven上传的速度很慢,排除网络原因,需要检查配置,本文主要介绍了IDEA maven上传速度很慢的解决办法,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • LibrarySystem图书管理系统开发(一)

    LibrarySystem图书管理系统开发(一)

    这篇文章主要为大家详细介绍了LibrarySystem图书管理系统开发,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Spring Cloud详细讲解zuul集成Eureka流程

    Spring Cloud详细讲解zuul集成Eureka流程

    这篇文章主要介绍了Spring Cloud zuul集成Eureka,Eureka Client中内置一个负载均衡器,用来进行基本的负载均衡,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • JavaFX Metro UI 和 开发库使用简介

    JavaFX Metro UI 和 开发库使用简介

    这篇文章主要介绍了JavaFX Metro UI 和 开发库解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • java.lang.UnsatisfiedLinkError: %1 不是有效的Win32应用程序错误解决

    java.lang.UnsatisfiedLinkError: %1 不是有效的Win32应用程序错误解决

    这篇文章主要给大家介绍了关于java.lang.UnsatisfiedLinkError: %1 不是有效的Win32应用程序错误的解决方法,文中介绍的非常详细,需要的朋友们可以参考学习,下面来一起看看吧。
    2017-03-03

最新评论