首页 > 编程语言 >Java的构造方法和标准JavaBean

Java的构造方法和标准JavaBean

时间:2023-05-07 23:00:57浏览次数:35  
标签:Java String 构造方法 age email password public JavaBean

构造方法

一、构造方法概述:

构造方法也叫做构造器,构造函数,平时叫做构造方法

二、构造方法的作用:

创建对象的时候,由虚拟机自动调用,给成员变量进行初始化(赋值)

三、构造方法的格式:

public class student{

修饰符 类名(参数){

​ 方法体;

​ }

}

四、特点:

  1. 方法名与类名相同,大小写也要一致

  2. 没有返回值类型,连void的都没有

  3. 没有具体的返回值(不能由return带回结果数据)

五、构造方法的两种形式:

  1. 无参数构造方法:初始化的对象时,成员变量的数据均采用默认值

  2. 有参数构造方法:在初始化对象的时候,同时可以为对象进行赋值

eg:
public class 构造方法01 {
    public class Student{
        private String name;
        private int age;
        public Student(){
            //空参的构造方法
        }
        public Student(String name,int age){
            //带参数的构造方法
        }
    }
}

六、执行时机:

  1. 创建对象的时候由虚拟机调用,不能手动调用构造方法

  2. 每创建一次对象,就会调用一次构造方法

eg:
public class Student {
    private String name;
    private  int age;
    //如果我们自己没有写任何的构造方法
    //那么虚拟机给我们加一个空参构造方法,方法内容如下
    public Student(){

    }
    //
    public Student(String name,int age){
        this.name = name;
        this.age = age;
    }
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
package com.itheima.Method01Test03;

public class StudentTest {
    public static void main(String[] args) {
        Student s = new Student();//创建对象调用的空参构造
        Student s1 = new Student("张三",18);
        System.out.println(s1.getName());
        System.out.println(s1.getAge());
    }
}

运行结果:

张三
18

七、构造方法注意事项:

构造方法的定义:

  1. 如果没有定义构造方法,系统将给出一个默认的无参数构造方法

  2. 如果定义了构造方法,系统将不再提供默认的构造方法,此时如果需要使用,就需要自己写无参数构造器(构造方法)

构造方法的重载:

  1. 带参构造方法,和无参数构造方法,两者方法名相同,但是参数不同,这叫做构造方法的重载

推推荐的使用方法

  1. 无论是否使用,都建议手动书写无参数构造方法,和带全部参数的构造方法

标准JavaBean

一、标准的JavaBean类:

  1. 类名需要见名知意,驼峰命名

  2. 为了保证所有变量的安全性,成员变量使用private修饰

  3. 提供至少两个构造方法:1、无参构造方法,2、带全部参数的构造方法

  4. 成员方法:1、提供每一个成员变量对应的setXxx()/ getXxx() 2、如果还有其他行为也需要写上

快速生成set和get快捷键:Alt+insert或者Alt+Fn+insert或者鼠标右键、生成、seter和geter
使用插件PTG 1秒生成JavaBean:鼠标右键、PGT to JavaBean

二、练习:

public class User {
    private String username;
    private String password;
    private String email;
    private String gender;
    private int age;
    //空参
    public User(){}
    //带全部参数的构造方法
    public User(String username,String password,String email,String gender){
        this.username = username;
        this.password = password;
        this.email = email;
        this.gender = gender;
        this.age = age;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
使用插件PTG 1秒生成JavaBean:鼠标右键、PGT to JavaBean
public class user02 {
    private String username;
    private String password;
    private String email;
    private String gender;
    private int age;

    public user02() {
    }

    public user02(String username, String password, String email, String gender, int age) {
        this.username = username;
        this.password = password;
        this.email = email;
        this.gender = gender;
        this.age = age;
    }

    /**
     * 获取
     * @return username
     */
    public String getUsername() {
        return username;
    }

    /**
     * 设置
     * @param username
     */
    public void setUsername(String username) {
        this.username = username;
    }

    /**
     * 获取
     * @return password
     */
    public String getPassword() {
        return password;
    }

    /**
     * 设置
     * @param password
     */
    public void setPassword(String password) {
        this.password = password;
    }

    /**
     * 获取
     * @return email
     */
    public String getEmail() {
        return email;
    }

    /**
     * 设置
     * @param email
     */
    public void setEmail(String email) {
        this.email = email;
    }

    /**
     * 获取
     * @return gender
     */
    public String getGender() {
        return gender;
    }

    /**
     * 设置
     * @param gender
     */
    public void setGender(String gender) {
        this.gender = gender;
    }

    /**
     * 获取
     * @return age
     */
    public int getAge() {
        return age;
    }

    /**
     * 设置
     * @param age
     */
    public void setAge(int age) {
        this.age = age;
    }

    public String toString() {
        return "user02{username = " + username + ", password = " + password + ", email = " + email + ", gender = " + gender + ", age = " + age + "}";
    }
}

标签:Java,String,构造方法,age,email,password,public,JavaBean
From: https://www.cnblogs.com/xiao-xiao1024/p/17380403.html

相关文章

  • Java守护线程daemon介绍
    1.介绍线程分为用户线程和守护线程JVM必须确保用户线程执行完毕,但是不用等待守护线程执行完毕示例代码:publicclassTestDaemon{publicstaticvoidmain(String[]args){DaemonThreaddaemon=newDaemonThread();CustomerThreadcustomer=ne......
  • Java游戏任务背包系统设计思路
    前言在游戏开发中,游戏任务系统是必不可少的,因为任务系统是游戏的驱动,是使玩家能坚持玩下去的途径之一,也是玩家的目标。任务大体分为三块,玩家接受任务--进行任务--任务完成获得奖励。这里面包括两个系统,任务系统和背包系统,因为玩家获得的奖励需要落到玩家自己的背包里。所以我们......
  • Java多线程--让主线程等待所有子线…
    朋友让我帮忙写个程序从文本文档中导入数据到oracle数据库中,技术上没有什么难度,文档的格式都是固定的只要对应数据库中的字段解析就行了,关键在于性能。   数据量很大百万条记录,因此考虑到要用多线程并发执行,在写的过程中又遇到问题,我想统计所有子进程执行完......
  • Java练手项目(尚硅谷),后续2
    菜鸟小白,如有大佬发现错误欢迎指正,洗耳恭听。今天在练习Java尚硅谷的项目的时候,发现自己对break语句,还是不太了解,就把那个项目里面的一段循环代码拿了出来,单独放在一个小项目里,去看看,到底执行了哪句,执行顺序。发现,这样来理解比较好一些。代码如下:importjava.util.Scanner;......
  • java注解
    /***@JsonIgnore不返回*/@JsonIgnoreprivateStringsummary;/***@JsonFormat时间注解*/@JsonFormat(pattern="yyyy-MM-ddhh:mm:ss",locale="zh",timezone="GMT+8")privateDatecreateTime;/***@JsonInclude空字段不返回*/......
  • (六) Java API查询与算数运算符练习
    目录API在线文档算数练习题API在线文档各种API集合不过有了chatgpt这些都是弟弟了算数练习题i=i++publicclassInt{ publicstaticvoidmain(String[]args){ inti=1; i=i++; System.out.println(i); }}这里的输出应该是1,因为i=i++这句规则......
  • 黑马 2-javaweb 学习随记
    day08 1:启动tomcat失败121-Oct-202213:41:57.148严重[main]org.apache.catalina.util.LifecycleBase.handleSubClassException初始化组件[Connector[HTTP/1.1-8080]]失败。2org.apache.catalina.LifecycleException:协议处理程序初始化失败3......
  • java常见问题
    java.lang.OutOfMemoryError:Javaheapspace 解决问题之前先来分析一下为什么会出现内存溢出的问题.有两种可能性:一种是应用有问题,本该回收的内存没有进行回收导致的内存溢出,这种情况就需要修改代码了.第二种情况则是服务器资源不够或JVM参数设置过小导致的内存溢出,......
  • Java Bean介绍与配置
    (一)JavaBean介绍1.javaBean的介绍在Java中,有很多class的定义都符合这样的规范:若干private实例字段;通过public方法来读写实例字段。例如:publicclassPerson{privateStringname;privateintage;publicStringgetName(){returnthis.name;}p......
  • Java 进阶 - Apache BeanUtils
    介绍BeanUtils是ApacheCommons的组件,它们源自JavaAPI并提供Java语言的组件体系结构。JavaBeanUtils设计模式使用实用程序类,这些实用程序类有助于获取和设置Java类的属性值,以便检索和定义Bean属性。常用方法//根据指定的Map填充指定JavaBeans属性publicst......