Java构造器

构造器

    • 无参构造器
    • 有参构造器
    • 构造方法VS成员方法
    • 总结

概念:也称构造方法、构造函数。作用是构造出来一个类的实例,确保对象得到初始化。

格式: 权限修饰符 类名(无参/有参){ }。

分类:

  • 带参数:有参构造器
  • 不带参数:无参构造器

无参构造器

一个无参构造器就是不含参数的构造器,用来创建一个"默认的对象"。如果创建一个类,类中没有构造器,那么编译器就会自动为你创建一个无参构造器。

代码实现:

public class Test01 {
	public static void main(String[] args) {
 		Person p = new Person();
		System.out.println(p.name);
		System.out.println(p.sex);
		System.out.println(p.age);
		p.eat();
		p.sleep();
	}
}

class Person{
    //属性
	String name;
	char sex;
	int age;
	
	//构造方法 -- 无参构造
	public Person(){
		System.out.println("Person的无参构造");
		this.name = "彭于晏";
		this.sex = '男';
		this.age = 43;
	}
	
	//成员方法
	public void eat(){
		System.out.println(this.name + "吃饭饭");
	}
	
	public void sleep(){
		System.out.println(this.name + "睡觉觉");
	}
	
	//静态方法
	public static void method(){
		System.out.println("静态方法");
	}
    
}

有参构造器

有参构造器是指在创建对象时需要提供参数的构造器。通过有参构造器,我们可以在创建对象时传递参数,并使用这些参数来初始化对象的属性。有参构造器可以根据需要接收任意数量和类型的参数,以满足不同的需求。

代码实现:

public class Test01 {
	public static void main(String[] args) {
		Person p = new Person("彭于晏", '男', 43);
		System.out.println(p.name);
		System.out.println(p.sex);
		System.out.println(p.age);
		p.eat();
		p.sleep();
	}
}
class Person{
    //属性
	String name;
	char sex;
	int age;
    
	//构造方法 -- 有参构造
	public Person(String name,char sex,int age){
		this.name = name;
		this.sex = sex;
		this.age = age;
	}
	
	//成员方法
	public void eat(){
		System.out.println(this.name + "吃饭饭");
	}
	
	public void sleep(){
		System.out.println(this.name + "睡觉觉");
	}
	
	//静态方法
	public static void method(){
		System.out.println("静态方法");
	}
}

构造方法VS成员方法

  1. 格式区别

​ 构造方法和类名相同,并且没有返回类型,也没有返回值。
​ 普通成员方法可以任意起名,必须有返回类型,可以没有返回值。

  1. 作用区别

    构造方法用于创建对象,并进行初始化。
    普通成员方法是用于完成特定功能的代码块。

  2. 调用区别

    构造方法是在创建对象时被调用的,一个对象建立,只调用一次相应构造函数。
    普通成员方法是由创建好的对象调用,可以调用多次

总结

1.构造器必须与类同名

2.每个类可以有一个以上的构造器

3.构造器的参数个数大于等于0个

4.构造器没有返回项

5.构造器总是伴随着new操作一起调用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/595985.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

判断dll/lib是32/64位、查看lib是导入库/静态库的方法 、查看dll包含的符合、lib包含的函数

一、判断dll/lib是32/64位 原文链接:https://www.cnblogs.com/bandaoyu/p/16752602.html 1. 简便方法: 直接用记事本或者notepad(或txt文本)打开exe文件(dll文件),会有很多乱码,不要头疼,接下…

【统计推断】-01 抽样原理之(三)

文章目录 一、说明二、抽样分布三 均值抽样分布3.1 有限母体无放回抽样3.2 有限母体有放回抽样3.3 无限母体 四、比例抽样分布五、和差抽样分布 一、说明 上文中叙述母体和抽样的设计;以及抽样分布的概念,本篇将这种关系定量化,专门针对抽样的…

jmeter后置处理器提取到的参数因为换行符导致json解析错误

现象: {"message":"JSON parse error: Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backslash to be included in string value; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Ill…

ModuleNotFoundError: No module named ‘pkg_resources‘ 问题如何解决?

ModuleNotFoundError: No module named pkg_resources 通常是因为 Python 环境中缺少 setuptools 模块。pkg_resources 是 setuptools 包的一部分,用于处理 Python 包的发行和资源。 为解决这个问题,请按照以下步骤操作: 确保 setuptools 已…

Pytorch基础:内置类type的用法

相关阅读 Pythonhttps://blog.csdn.net/weixin_45791458/category_12403403.html?spm1001.2014.3001.5482 在python中,一切数据类型都是对象(即类的实例),包括整数、浮点数、字符串、列表、元组、集合、字典、复数、布尔、函数、…

websevere服务器从零搭建到上线(四)|muduo网络库的基本原理和使用

文章目录 muduo源码编译安装muduo框架讲解muduo库编写服务器代码示例代码解析用户连接的创建和断开回调函数用户读写事件回调 使用vscode编译程序配置c_cpp_properties.json配置tasks.json配置launch.json编译 总结 muduo源码编译安装 muduo依赖Boost库,所以我们应…

npy文件如何追加数据?

.npy 文件是 NumPy 库用于存储数组数据的二进制格式,它包含一个描述数组结构的头部信息和实际的数据部分。直接追加数据到现有的 .npy 文件并不像文本文件那样直接,因为需要手动修改文件头部以反映新增数据后的数组尺寸,并且要确保数据正确地…

【哈希表】Leetcode 14. 最长公共前缀

题目讲解 14. 最长公共前缀 算法讲解 我们使用当前第一个字符串中的与后面的字符串作比较,如果第一个字符串中的字符没有出现在后面的字符串中,我们就直接返回;反之当容器中的所有字符串都遍历完成,说明所有的字符串都在该位置…

从简单逻辑到复杂计算:感知机的进化与其在现代深度学习和人工智能中的应用(上)

文章目录 引言第一章:感知机是什么第二章:简单逻辑电路第三章:感知机的实现3.1 简单的与门实现3.2 导入权重和偏置3.3 使用权重和偏置的实现实现与门实现与非门和或门 文章文上下两节 从简单逻辑到复杂计算:感知机的进化与其在现代…

微信公众号 点击显示答案 操作步骤

1、右键进入检查模式 2、ctrlf查找html元素 3、添加答案区域代码 添加答案区域代码后&#xff0c;可以直接在页面进行格式调整 <!-- 此处height控制显示区域高度 --> <section style"height: 1500px;overflow-x: hidden;overflow-y: auto;text-align: center;b…

博客网站SpringBoot+Vue项目练习

博客网站SpringBootVue简单案例 前言 学了vue后一直没用找到应用的机会&#xff0c;在Github上找到了一个看起来比较友好的项目&#xff08;其实具体代码我还没看过&#xff09;。而且这个项目作者的readme文档写的也算是比较好的了。 项目链接&#xff1a;https://github.c…

基于 Linux 自建怀旧游戏之 - 80 款 H5 精品小游戏合集

1&#xff09;简介 最近又找到了一款宝藏游戏资源分享给大家&#xff0c;包含 80 款 H5 精品小游戏&#xff0c;都是非常有趣味耐玩的游戏&#xff0c;比如 植物大战僵尸、捕鱼达人、贪吃蛇、俄罗斯方块、斗地主、坦克大战、双人五子棋、中国象棋 等等超级好玩的 H5 小游戏&…

ai续写软件哪个好?盘点3款经典好用的!

随着科技的不断发展&#xff0c;AI续写软件逐渐成为了许多内容创作者、学生、研究人员等的得力助手。这类软件能够通过机器学习和自然语言处理技术&#xff0c;为用户提供高质量的文本续写服务。但市场上众多的AI续写软件让人眼花缭乱&#xff0c;那么&#xff0c;究竟哪款AI续…

0506_IO1

思维导图&#xff1a; 练习&#xff1a; 有如下结构体 struct Student{ char name[16]; int age; double math_score; double chinese_score; double english_score; double physics_score; double chemistry_score; double bio_score; }; 申请该结构体数组&#xff0c;容量为…

AVL树浅谈

前言 大家好&#xff0c;我是jiantaoyab&#xff0c;本篇文章给大家介绍AVL树。 基本概念 AVL树&#xff08;Adelson-Velsky和Landis树&#xff09;是一种自平衡的二叉搜索树&#xff0c;得名于其发明者G. M. Adelson-Velsky和E. M. Landis。在AVL树中&#xff0c;任何节点的…

活动回放 | 如何进行全增量一体的异构数据库实时同步

以 AI领域为代表的新技术不断涌现&#xff0c;新的应用风口也逐渐清晰。为了加紧跟上技术发展的步伐&#xff0c;越来越多的企业开始着手&#xff0c;对仍以传统关系型数据库为主的应用后端进行现代化升级。 这就涉及到如何在不影响并保持现有业务系统正常运转的前提下&#xf…

专注 APT 攻击与防御—基于UDP发现内网存活主机

UDP简介&#xff1a; UDP&#xff08;User Datagram Protocol&#xff09;是一种无连接的协议&#xff0c;在第四层-传输层&#xff0c;处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点&#xff0c;也就是说&#xff0c;当报文发送之后&#xf…

Android 状态栏WiFi图标的显示逻辑

1. 状态栏信号图标 1.1 WIFI信号显示 WIFI信号在状态栏的显示如下图所示 当WiFi状态为关闭时&#xff0c;状态栏不会有任何显示。当WiFi状态打开时&#xff0c;会如上图所示&#xff0c;左侧表示有可用WiFi&#xff0c;右侧表示当前WiFi打开但未连接。 当WiFi状态连接时&#x…

SpringBoot整合rabbitmq使用案例

RocketMQ&#xff08;二十四&#xff09;整合SpringBoot SpringBoot整合rabbitmq使用案例 一 SpringBoot整合RocketMQ实现消息发送和接收消息生产者1&#xff09;添加依赖2&#xff09;配置文件3&#xff09;启动类4&#xff09;测试类 消息消费者1&#xff09;添加依赖2&…

python 中如何匹配字符串

python 中如何匹配字符串&#xff1f; 1. re.match 尝试从字符串的起始位置匹配一个模式&#xff0c;如果不是起始位置匹配成功的话&#xff0c;match()就返回none。 import re line"this hdr-biz 123 model server 456" patternr"123" matchObj re.matc…
最新文章