构造方法

一、构造方法概述:

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

二、构造方法的作用:

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

三、构造方法的格式:

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的构造方法和标准JavaBean的更多相关文章

  1. Java Object 构造方法的执行顺序

    Java Object 构造方法的执行顺序 @author ixenos 为了使用类而做的准备工作包括三个步骤 1)加载:类加载器查找字节码(一般在classpath中找),从字节码创建一个Class ...

  2. Java Web之JSTL标准标签库总结

    [文档整理系列] Java Web之JSTL标准标签库总结

  3. 为什么java的构造方法中this()或者super()要放在第一行

    java的构造方法中如果自己显性的调用super()的时候一定要放在第一行,如不是的话就会报错. 为什么一定要在第一行? super()在第一行的原因就是: 子类有可能访问了父类对象, 比如在构造函数 ...

  4. java中构造方法和方法super/this超类与子类中初始化顺序

    java中构造方法和方法全面解析 我相信大多说人都对构造方法.方法不陌生,而且很了解,但我也相信有很多像我这样的没有一个很好很清晰很全面的认识,今天就把它整理如下,希望能给大家带来点方便与帮助,也希望 ...

  5. Java面向对象-构造方法,this关键字

    Java面向对象-构造方法,this关键字 构造方法 概念:构造方法是一个特殊的方法,这个特殊方法用于创建实例时执行初始化操作: 上代码: package com.java1234.chap03.se ...

  6. Java,Hibernate,标准sql数据类型之间的对应表

    (2010-07-14 19:53:50) 转载▼ 标签: 杂谈 分类: JAVA Hibernate API简介 其接口分为以下几类: l         提供访问数据库的操作的接口: l      ...

  7. 关于java中构造方法、实例初始化、静态初始化执行顺序

    在Java笔试中,构造方法.实例初始化.静态初始化执行顺序,是一个经常被考察的知识点. 像下面的这道题(刚刚刷题做到,虽然做对了,但是还是想整理一下) 运行下面的代码,输出的结果是... class ...

  8. Java之JSTL标签与JavaBean

    Java之JSTL标签与JavaBean JSP.JSTL标签及 EL表达式 <!-- jstl表达式--> <dependency> <groupId>javax ...

  9. 【Java学习笔记之八】JavaBean中布尔类型使用注意事项

    JavaBean是一个标准,遵循标准的Bean是一个带有属性和getters/setters方法的Java类. JavaBean的定义很简单,但是还有有一些地方需要注意,例如Bean中含有boolea ...

  10. Java—面向对象—构造方法及相关思维导图

    先构造一个Book类的代码 package org.hanqi.pn0120; public class Book { //构造方法 //1.方法名和类名一样 //2.没有返回值,不需要加void / ...

随机推荐

  1. 7 Free Energies: 7.4 Umbrella Sampling Example

    7.4 Umbrella Sampling Example计算丙氨酸二肽 Phi/Psi 旋转的 PMF    http://ambermd.org/tutorials/advanced/tutori ...

  2. DVWA-Brute Force(暴力破解)

    暴力破解漏洞,没有对登录框做登录限制,攻击者可以不断的尝试暴力枚举用户名和密码 LOW 审计源码 <?php // 通过GET请求获取Login传参, // isset判断一个变量是否已设置,判 ...

  3. Android笔记--FileProvider

    FileProvider介绍 继承于ContentProvider,本质上依旧是用于跨境通信,对第三方应用暴露文件,并授予文件读写地权限 具体内容 1.在Strings.xml里面配置一个常量 2.在 ...

  4. SpringBoot笔记--Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.报错的解决

    问题描述 写了SpringBoot代码之后,运行不出来结果,报出这样的一个错误:Failed to configure a DataSource: 'url' attribute is not spe ...

  5. Python学习笔记--PySpark的基础学习(二)

    filter方法(过滤想要的数据进行保留) 具体实现(保留奇数): 具体实现(保留偶数): distinct方法(对RDD进行去重,返回新的RDD) 且无需传参 具体实现(去重): sortBy方法( ...

  6. BOW/DOM(上)

    BOM 原生对象:成为js中的内置对象,就是由 js 中的构造函数创建的对象就被称为原生对象:Object.Number.Array.Date.String.... 宿主对象:web运行环境,也就是w ...

  7. python安装robotframework的一些常见的错误

    python安装robotframework的一些常见的错误 首先的电脑环境是x86的,然后下载的python版本起初是3.10.1的 在cmd 中出入pip install robotframwor ...

  8. MyBatisPlus映射匹配兼容性

    字段映射与表名映射 1.当数据库表名tbl_user与实体类名User不一致时:在实体类上添加 :@TableName("tbl_user") package com.itheim ...

  9. 微软开源了一个 助力开发LLM 加持的应用的 工具包 semantic-kernel

    在首席执行官萨蒂亚·纳德拉(Satya Nadella)的支持下,微软似乎正在迅速转变为一家以人工智能为中心的公司.最近微软的众多产品线都采用GPT-4加持,从Microsoft 365等商业产品到& ...

  10. ACM-学习记录-DP-1

    DPL_1_A: Coin Changing Problem 每次均有两种选择,即选择当前的,即为在当前状态+1,否则维持原来的T[j+d[i]] #include<iostream> # ...