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.mzph.cn/news/832436.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据在互联网领域的“九大”应用

当下越来越多的应用涉及到大数据,而这些大数据的属性,包括数量,速度,多样性等等都呈现出大数据不断增长的复杂性,所以大数据的分析方法在大数据领域就显得尤为重要,目前互联网大数据运用的九大领域&#xf…

网络演进技术演进:裸纤专线、SDH、MSTP+、OTN、PTN、IP-RAN

前言 文章主要介绍常见名词以及其在各自领域实现的功能价值。 01 裸纤 裸光纤(裸光纤)由运营商提供,是无中继的光纤线路,仅通过配线架连接。相比传统光纤,裸光纤提供纯粹的物理传输路径,无需额外网…

优化百度SEO:蜘蛛池自动收录的秘诀(蜘蛛池秒收录)

蜘蛛池自动收录技术解析 百度作为国内最大的搜索引擎之一,在网络搜索领域拥有巨大的影响力。对于网站主来说,如何让自己的网站在百度搜索结果中排名靠前,成为关注的焦点。其中,SEO(SearchEngineOptimization&#xff…

第十五届蓝桥杯大赛软件赛省赛javaB组(蒟蒻赛时写的题

4个小时,下来感觉,迷迷糊糊的(感觉写的题和没写一样,要么暴力,要么写写if els,感觉没有什么体验感。前两个填空题都是签到,第二个填空写的暴力,感觉跑了5分钟左右,其实是可以前缀和优…

Linux字符设备驱动-详解与实操:驱动架构、设备树、Pinctrl子系统和GPIO子系统、platform、设备树下的platform

如何编写一个驱动程序: (1)确定主设备号 (2)定义自己的file_operations结构体: 包含对应的open(drv_open)/read(drv_read)等设备操作函数,需要到内核中去注册 (3)实现…

09-python开发xss扫描器

一、基本思路 1、整体上的思路是发送一个带有Payload参数值的请求,从响应当中判断是否存在Payload(反射性XSS) 2、准备一份字典文件、尽可能包含更多的payload,并给每一个payload进行分类(不同的类型匹配的要求不同) import requests# 从响…

为什么需要自动化测试?自动化有哪些优势?

前言 自动化测试,最近些年可谓是大火。招聘上的要求也好,培训班的广告也罢,比比皆是,足以说明它在业内的火爆程度。 虽然说会写自动化测试并不能说明你就很牛批,但是你不会的话,那么很抱歉,你…

spring Ai框架调用openai大模型简易demo

前提&#xff1a; 需要科学上网&#xff0c;key没有官方的&#xff0c;就找中转的key1 pom依赖&#xff0c;注意添加的依赖和仓库配置 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xm…

【C++】从list模拟实现深入理解iterator

目录 前言 一、list节点类 二、迭代器类 三、list类 前言 在string与vector这类存储内存连续的容器中&#xff0c;iterator直接使用指针作为底层即可。但对于list这种存储内存不连续的容器&#xff0c;就不可能使用指针作为底层了。 本文我们将通过对list的学习及模拟实现…

CCNP和HCIP哪个好考?

在网络工程领域&#xff0c;专业认证是衡量技能和知识水平的重要标准。 Cisco的CCNP和华为的HCIP都是业界广泛认可的资深网络工程师认证。 对于渴望提升职业资格的网络工程师来说&#xff0c;选择哪个认证更合适&#xff0c;很多人都在纠结。 01 CCNP认证概览 CCNP认证是思科…

Java常见异常有哪些

java.lang.IllegalAccessError&#xff1a;违法访问错误。当一个应用试图访问、修改某个类的域&#xff08;Field&#xff09;或者调用其方法&#xff0c;但是又违反域或方法的可见性声明&#xff0c;则抛出该异常。 java.lang.InstantiationError&#xff1a;实例化错误。当一…

【中等】保研/考研408机试-动态规划1(01背包、完全背包、多重背包)

背包问题基本上都是模板题&#xff0c;重点&#xff1a;弄熟多重背包模板 dp[j]max(dp[j-v[i]]w[i],dp[j]) //核心思路代码&#xff08;一维数组版&#xff09; dp[i][j]max(dp[i-1][j], dp[i-1][j-v[i]]w[i])//二维数字版 一、 0-1背包 一般输入两个变量&#xff1a;体积&…

力扣每日一题-拆炸弹-2024.5.5

力扣题目&#xff1a;拆炸弹 题目链接: 1652.拆炸弹 题目描述 代码思路 根据代码实现分为k等于0和k不等于0的情况。k等于0很容易处理&#xff0c;而k不等于0时&#xff0c;需要使用滑动窗口的方式来解决。先根据小于0或大于0确定一个窗口&#xff0c;然后移动&#xff0c;获…

PostgreSQL SUM踩坑

空集合的SUM()将返回NULL&#xff0c;而不是零。 示例SQL SELECT SUM (amount) FROM payment WHERE customer_id 2000;如果没有查询到数据,那么返回的将是NULL sum ------null (1 row)解决方案 如果您希望SUM()函数在没有匹配行的情况下返回0而不是NULL&#xff0c;可以使用…

【Mac】 DSync for mac(文件比较同步工具) v2.7安装教程

软件介绍 DSync是一款文件比较同步工具&#xff0c;通过简便的三步即可完成繁琐的比较、同步操作&#xff0c;您甚至可以通过跳过、删除或反转您选择的文件的复制方向来微调您的同步。这是在Mac上同步文件的最简单方法。 安装教程 1.打开安装包&#xff0c;将「DSync」拖到右…

YUM源仓库部署和NFS共享存储服务

一.YUM源仓库部署 1.YUM 概述 &#xff08;1&#xff09;是基于RPM软件包构建的软件更新机制 &#xff08;2&#xff09;可以自动解决依赖关系 &#xff08;3&#xff09;所有软件包有集中的YUM软件仓库提供 2.准备YUM源 &#xff08;1&#xff09;软件仓库的提供方式&…

个人直播/流媒体服务解决方案实践

目录 1. 说明 1.1 拓扑结构图 2. 准备工作 2.1 软硬件清单 3. 步骤 3.1 按上面的软硬件清单准备好材料 3.2 内网检查测试 3.3 透传到公网服务器 3.5 机顶盒配置 4. 总结 5. 参考 6. 后语 1. 说明 - 在本地局域网建立流媒体服务&#xff0c;并发布到公网服务器供终…

【Unity 组件思想-预制体】

【Unity 组件思想-预制体】 预制体&#xff08;Prefab&#xff09;是Unity中一种特殊的组件 特点和用途&#xff1a; 重用性&#xff1a; 预制体允许开发者创建可重复使用的自定义游戏对象。这意味着你可以创建一个预制体&#xff0c;然后在场景中多次实例化它&#xff0c;…

centos7下用logrotate给tomcat的catalina.out做日志分割

1、新建日志切割脚本 vi /etc/logrotate.d/tomcat /usr/local/tomcat/logs/catalina.out {copytruncatedailyrotate 365#compressmissingokdateext } 注&#xff1a;compress是开启压缩&#xff0c;这里注释掉了。rotate 365是保留日志365天。copytruncate是拷贝后再切割&am…

轻松上手的LangChain学习说明书

一、Langchain是什么&#xff1f; 如今各类AI模型层出不穷&#xff0c;百花齐放&#xff0c;大佬们开发的速度永远遥遥领先于学习者的学习速度。。为了解放生产力&#xff0c;不让应用层开发人员受限于各语言模型的生产部署中…LangChain横空出世界。 Langchain可以说是现阶段…