java基础:浅聊实例化和初始化

news2024/9/20 18:25:44

其实如果了解python的化,其在生成一个实例对象的时候会调用两个系统方法__new__ 和__init__。

这个可以通过看生成的class文件看到,比如创建一个test.java,然后通过jclasslib这个软件查看class文件,当然ide也可以安装这个软件的插件。

暂时先不要理解class文件种的代码时什么意思,有时间就聊一下,而是需要关注的是init方法。

public class test {
    int a;
    public test() {

    }
    public void setA(int a) {
        this.a = a;
    }

    public test(int a) {
        this.a = a;
    }

    public  void testNew1(){
     test t=new test();
     t.setA(1);
    }

    public  void testNew2(){
        test t=new test(1);

    }

}

在这里插入图片描述

这个init方法,原代码java文件中没有写,但是在class文件中就有这个方法,而且神奇的是有几个构造方法就有几个init方法。

然后看不同的方法:

  • 调用无参的构造方法

     public  void testNew1(){
         test t=new test();
         t.setA(1);
        }
    

    然后看调用 的init方法的class文件:

在这里插入图片描述

在这里插入图片描述

这个其实如果看无参的构造方法似乎调用init方法没有什么意义,但是如果看一下有参数的构造方法调用就明白了。

  • 调用有参的构造方法

       public  void testNew2(){
            test t=new test(1);
        }
    

在这里插入图片描述

在这里插入图片描述

现在简单的说一下实例化和初始化的意义:

  • 实例化:创建一个对象的过程称为实例化。在Java中,使用new关键字创建一个对象。通过new创建一个对象,就是实例化一个对象,也就是开辟了一个空间。
  • 初始化:为对象的成员变量赋初值的过程。在Java中,对象的成员变量需要初始化为某个值,否则它们会自动初始化为默认值。可以在定义时或者在构造函数或初始化块中为成员变量指定初始值。

用一句话笼统来说就是:实例化是创造了对象,开辟了空间,初始化是为这个对象的属性进行赋值,如果没有定义赋值就会自动初始化为默认值

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

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

相关文章

ggplot2的组图拓展包(1):patchwork(上篇)

专注系列化、高质量的R语言教程推文索引 | 联系小编 | 付费合集patchwork是ggplot绘图系统的拓展包,主要功能是将多个ggplot格式的图形组合成一幅大图,即组图。patchwork工具包十分好用,它主要利用几个类似四则运算符号的操作符进行组图&…

Python——函数(重点内容)

函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫…

Linux 常用软件安装(jdk,redis,mysql,minio,kkFileView)

1.jdk安装 查询所有跟Java相关的安装的rpm包 rpm -qa | grep java卸载所有跟openjdk相关的包: 执行命令。删除以上除了noarch 结尾的所有文件 rpm -e --nodeps java-1.8.0-openjdk-1.8.0.252.b09-2.el8_1.x86_64 rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0…

钉钉端H5开发调试怎么搞

H5开发本地调试教程 作为一名前端开发,大家平时工作中或多或少都有接触或需要开发H5页面的场景,在开发过程中,如何像PC端页面一样有有丝滑的体验呢? 不同的情况需要在不同的端调试更方便有效: 1. 在画UI的时候,更适合在PC端调试,更改代码或者直接在浏览器调试,都是实…

LeetCode链表(单链表,双链表,反转链表)

文章目录前言1.链表定义2.链表操作3.技巧链表常见操作1.lc203 移除链表元素2.lc2 两数相加3.lc328 奇偶链表反转链表1.lc206 反转链表2.lc92 反转链表II链表双指针1.lc19 删除链表的倒数第 N 个结点2.lc21 合并两个有序链表3.lc24 两两交换链表中的节点4.lc234 回文链表前言 本…

Vue3倒计时组件(Countdown)

可自定义设置以下属性: 倒计时数值(countdown),单位s,必传倒计时标题(title),默认Countdown,string | v-slot格式化倒计时展示(format)&#xff…

“操作无法完成,因为其中的文件或文件夹一再另一程序打开”解决方法

windows系统中,有时时候我们想要修改某个文件,就出现出现如下提示:操作无法完成,因为其中的文件或文件夹已在另一程序打开请关闭该文件或文件夹,然后重试出现这个上面提示的原因是,我们要修改的文件或文件夹…

网络基础(1)

目录1. 网络1.1 网络是什么1.2 网络在哪里2. 协议3. TCP/IP五层(或四层)模型3.1 分层细节3.2 报头3.2.1 封装与解包4. 数据传输4.1 局域网4.2 IP地址与Mac地址1. 网络 1.1 网络是什么 网络本质是一个软件,软件是可以进行分层的。例如STL库,实际上分为了…

文件包含漏洞1 | iwebsec

文章目录00-文件包含漏洞原理环境01-本地文件包含读取敏感文件信息配合文件上传getshell配合日志文件getshell配合SSH日志配合运行环境00-文件包含漏洞原理 为什么要文件包含? 为什么会有文件包含漏洞? 因为将被包含的文件设置为变量,用来进行动态调用…

169_技巧_Power BI 依据促销日历计算销售金额

169_技巧_Power BI 依据促销日历计算销售金额 一、背景 在各位表格表姐们计算销售金额的时候,有一个绕不开的问题:商品有促销的问题,需要使用对应的促销价来计算销售额。 按照惯例还是先来看看结果 Power BI 公共 web 效果:htt…

使用docker进行Mongoyapi安装,Mongo重启yapi重启

在这里我使用Linux虚拟机作为docker服务器,本机通过xshell进行远程操作。 Mongo安装:docker run -d --name mongo-yapi mongo; yapi安装:1)拉取yapi docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi 2)初…

2023款欧拉好猫上市,12.98万起

上周,2023款欧拉好猫焕新上市。2023款好猫共推出5个车型: •401km标续航,舒享型/豪华型/尊贵型,分别是12.98/13.98/14.98万元; •501km长续航,豪华型/尊贵型,分别是15.58/16.58万元;…

00后整顿职场,当摸鱼测试员遇上了内卷00后。

在程序员职场上,什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事,我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事,可遇不可求,向他学习还来不及呢。 真正让人反感的,是技术平平&…

【PaddleOCR-kie】一、关键信息抽取:使用VI-LayoutXLM模型推理预测(SER+RE)

背景:在训练自己数据集进行kie之前,想跑一下md里面的例程,但md教程内容混乱,而且同一个内容有多个手册,毕竟是多人合作的项目,可能是为了工程解耦,方便更新考虑……需要运行的模型和运行步骤散落…

没有钱怎么创业?一分钱没有如何能创业成功?

限制人创业成功的从来都不是资金,而是能力,这个道理很多人都可能不懂,多数人习惯了庸庸碌碌、日复一日地打工行为,却不知如何创业,那么,没有钱怎么创业?一分钱没有如何能创业成功呢?…

【深度学习】预训练语言模型-BERT

1.BERT简介 BERT是一种预训练语言模型(pre-trained language model, PLM),其全称是Bidirectional Encoder Representations from Transformers。下面从语言模型和预训练开始展开对预训练语言模型BERT的介绍。 1-1 语言模型 语言模型 &#xf…

iOS(一):Swift纯代码模式iOS开发入门教程

Swift纯代码模式iOS开发入门教程项目初始化(修改为纯代码项目)安装第三方库(以SnapKit库为例)桥接OC库(QMUIKit)封装视图并进行导航跳转示例:使用 TangramKit 第三方UI布局库应用国际化添加 R.s…

NICEGUI---ROS开发之中常用的GUI工具

0. 简介 对于ROS来说,如果不具备一定知识的人员来使用这些我们写的算法,如果说没有交互,这会让用户使用困难,所以我们需要使用GUI来完成友善的数据交互,传统的GUI方法一般有PYQT这类GUI方法,但是这类GUI工…

激光炸弹(前缀和)

地图上有 N 个目标,用整数 Xi,Yi 表示目标在地图上的位置,每个目标都有一个价值 Wi。注意:不同目标可能在同一位置。现在有一种新型的激光炸弹,可以摧毁一个包含 RR 个位置的正方形内的所有目标。激光炸弹的投放是通过卫星定位的&…

顺序表以及链表的应用及区别(包含OJ讲解)

前面我已经发过怎么实现链表以及顺序表,今天大概的总结一下。 顺序表: 1.能够随时的存取,比较方便。 2.插入删除时,需要挪动数据,比较麻烦,因为是连续存储。 3.存储密度相对于链表来说是比较高的&#…