Java学习心得2——构造函数

2023-11-08

1.什么是构造函数?

构造函数顾名思义,就是对象被构造的时候就会被调用的函数。例如当你new一个Cat对象的时候,Cat对象的构造函数就会被调用。

public static void main(String[] args) {
	Cat c = new Cat();
}

构造函数是与类名同名的函数,不能有返回类型。例如:

public class Cat {
	Cat(){
		System.out.println("Cat is be created");
	}
}

这里的Cat()就是一个构造函数,它的函数名与类名相同,且该函数没有返回类型。

2.构造函数有什么用?

当我们创建一个对象时,我们一般希望给新创建的对象赋初值,这时我们一般会利用构造函数给新创建的对象赋初值(因为它刚好是构造新对象时被调用嘛)。例如我们想创建了一个Cat类型的对象c,并把c的成员变量weight赋初值为5,hight赋初值为30,那么我们的代码应该是这样的。

这是创建对象的代码

public static void main(String[] args) {
	Cat c = new Cat(5, 30);
}

这是构造函数的代码

Cat(float height, float weight){
		this.height = height;
		this.weight = weight;
}

3.注意

每个类都有至少一个构造函数,即使你没有写一个构造函数,系统也会帮你默默地加上一个构造函数。
构造函数的函数名一定要与类名相同,且构造函数不能有返回类型。
构造函数可以有多个,但不同的构造函数之间的参数数量或类型不能完全相同,这涉及到函数重载的知识,我会在之后的文章具体讲解。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java学习心得2——构造函数 的相关文章

随机推荐

  • Windows Server 2016 AD用户只能使用某些计算机

    打开AD用户和计算机 2 选择用户属性 3 选择账户 gt 计算机限制
  • idea补全返回值快捷键

    光标放在末尾 ctrl alt v
  • Frame skipped from debugging during step-in. VSCode调试无法定位其它库中代码的解决办法

    一 问题1 Frame skipped from debugging during step in Note may have been skipped because of justMyCode option default true T
  • 执行思维和管理思维学习有感

    已经不记得从何时起 我手下开始有组员 我成了组长 主管 当然还有一个好听的名字 基层管理者 但是我的工作内容貌似没变 依旧执行着原来的工作 做计划 跟踪执行 解决执行过程中的难题 甚至碰到不靠谱的同事直接自己上手 天天来的最早走的最晚 组员
  • 【jeecg-boot】解决:登录 http://localhost:3000/ 前端,显示登录已过期

    问题 原因 redis没有启动 或者redis设置了密码 解决 启动redis 设置密码的用户请修改
  • GPU架构中的半精度fp16与单精度fp32计算

    GPU架构中的半精度与单精度计算 由于项目原因 我们需要对darknet中卷积层进行优化 然而对于像caffe或者darknet这类深度学习框架来说 都已经将卷积运算转换成了矩阵乘法 从而可以方便调用cublas 库函数和cudnn里til
  • linux日志查看命令

    1 查看日志常用命令 tail n 是显示行号 相当于nl命令 例子如下 tail 100f test log 实时监控100行日志 tail n 10 test log 查询日志尾部最后10行的日志 tail n 10 test log
  • gravatar配置和使用【让你的网站使用全球通用头像】

    前言 我们在很多博客或者网站留言 评论的时候会看到有的人头像很酷很个性化 但是这个博客和网站本身并没有提供设置头像的功能 感觉有点神奇 那么是怎么做到的呢 其实这是使用了Gravatar Gravatar是Globally Recogniz
  • hibernate无法找到实体类

    找不到持久化类 第一次编写博客 我的博客是用来记录编程出现过的错误 org hibernate UnknownEntityTypeException Unable to locate persister 翻译 未知实体类型异常 找不到持久化
  • TortoiseSVN设置忽略文件和目录文件夹

    参看 https blog csdn net bbj12345678 article details 80949556
  • sql server 查询表是否被哪些存储过程和视图引用

    select name from sysobjects as s inner join syscomments as o on s id o id where text like N 表名
  • GFS 阅读笔记

    这篇博客是我阅读著名的 GFS 论文 The Google File System 所总结的笔记以及自己一些的思考 这篇论文是一篇非常经典的论文 尤其对于想要了解分布式或者刚刚开始研究分布式的人来说 是一篇非常好的读物 它里面提到了许多分布
  • 使用python代码绘制一个会动的爱心

    你可以使用 matplotlib 库来绘制一个会动的爱心 下面是一个简单的代码示例 import matplotlib pyplot as plt import numpy asnp x np linspace np pi np pi 25
  • Apache Beam中的有状态计算

    Beam帮助我们处理流式 乱序 大规模的数据 并且提供了高度的抽象机制Pipeline 统一了流式和批量数据处理 从功能上流处理可以分为无状态 stateless 的和有状态 stateful 两种 在流处理的框架里引入状态管理大大提升了系
  • mysql怎么打开表ddl_MySQL数据表操作(DDL)

    一 创建数据表 语法 create table 表名称 字段 字段类型 约束 字段 字段类型 约束 表选项 约束 primary key not null auto increment等 表选项 数据表的属性 一般包括engine char
  • linux常用命令及解释大全(三)

    目录 前言 一 字符设置和文件格式转换 二 文件系统分析 三 初始化一个文件系统 四 备份 五 光盘 六 网络 总结 前言 本篇文章继续介绍了一部分linux常用命令 包括字符设置和文件格式转换 文件系统分析 初始化一个文件系统 备份 光盘
  • 模板类,模板类函数特例化,模板类特例化

    今天在看某c 框架源码时 发现模板类里的部分函数可以特例化 感觉很神奇便尝试了下 发现很多平时不会注意的c 细节及知识 写下来分享给大家 以便大家遇到相似问题时可以少踩点坑 模板类会出现链接问题 编译不通过 如果模板类 h文件和 cpp文件
  • matlab_一组数据元素随机排列

    如何生成一组数据元素随机排列 随机打乱顺序 产生新的排列 1 使用的matlab函数 randperm 1 语法格式 R randperm n 2 函数功能 将数字1 n进行随机排列 排列结果存储在行向量内 3 EX 输入 randperm
  • 网页端扫码通过公众号实现微信授权登录

    1 参考开发文档 https developers weixin qq com doc offiaccount OA Web Apps Wechat webpage authorization html 0 2 先调起微信授权页面 获取co
  • Java学习心得2——构造函数

    1 什么是构造函数 构造函数顾名思义 就是对象被构造的时候就会被调用的函数 例如当你new一个Cat对象的时候 Cat对象的构造函数就会被调用 public static void main String args Cat c new Ca