java有关类的初始化的分析

news2024/12/24 8:13:26

什么是类?
类是具有相同状态和相同行为的一组对象的集合
什么是对象?
万事万物皆为对象,可以理解为具体的个体就是对象
什么是面向对象的编程?
就是只在乎结果而不在乎过程,怎么理解这句话?举个例子:如果我想吃西红柿炒鸡蛋,面向过程的思想是怎么做出这个西红柿鸡蛋,然后吃掉,而面向对象就是我吃掉就行了。
类与对象的关系:
类是对象的抽象,对象是类的具体化。
如何定义一个类?
类是由属性和方法两部分构成的,把属性和方法又叫做成员变量和成员方法,此为类中还有静态初始化器,实例初始化器,还有构造方法


本篇文章主要分析初始化的过程
package day0216;
public class InstanceDemo {
    static int a = 1;
    int b;
    static {
        System.out.println("static {}");
        a = 2;
    }
    {
        System.out.println(" {} ");
        a = 3;
    }
    InstanceDemo() {
        System.out.println(" InstanceDemo() ");
        a = 4;
        b = 5;
    }
    InstanceDemo(int n){
        System.out.println("InstanceDemo(int n)");
        b = n;
    }
    public static void main(String[] args) {
        InstanceDemo instanceDemo1 = new InstanceDemo(6);
        InstanceDemo instanceDemo = new InstanceDemo();

        System.out.println(instanceDemo.a);
        System.out.println(instanceDemo1.a);
        System.out.println(instanceDemo.b);
        System.out.println(instanceDemo1.b);

    }
}

以上的代码运行之后的结果为
在这里插入图片描述
现在可以分析一下为什么会是这种结果
因为在运行的过程中执行的顺序是

  • 加载类
  • 静态初始化
  • 实例初始化
  • 构造方法
    但是在执行的时候一定要注意
  • 静态初始化器只在加载类的时候执行一次
  • 实例初始化器在每次创建对象的时候都会执行
    在这里插入图片描述

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

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

相关文章

彻底废了,去干了两年外包...

先说一下自己的情况。大专生,17年通过校招进入湖南某软件公司,干了接近2年的点点点,今年年上旬,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了五年的功能测试…

MacOS Ventura 13.2.1 (22D68) 正式版带 OC 0.8.9 and winPE 双分区原版黑苹果镜像

2 月 14 日消息,苹果今日向 Mac 电脑用户推送了 macOS 13.2.1 更新(内部版本号:22D68),本次距离上次发布隔了 21 天,以修复Bug和安全更新为主。 镜像下载: 微信公众号: MacOS Vent…

docker 查看和分析镜像内文件

docker inspect docker inspect node:alpine查看元数据信息,一共有三层 "RootFS": {"Type": "layers","Layers": ["sha256:8c6806a0692459f603d074b4a7bdd38915650f1563f4ec728dad229475a52090","sha256:…

Python学习-----函数4.0(递归函数习题)

目录 递归算法 1.进制数转换 2.阶乘递归 3.递归获取两个数之间最小公倍数 4.递归获取两个数字之间最大公约数 5.斐波那契数列 5.递归求得数列的最值 6.倒序输出 7.递归二分法查找 递归算法 递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过…

部署JDK+tomcat上线jspgou项目

系列文章目录 文章目录系列文章目录一、前言二、Tomcat部署1、Tomcat Http Server2、安装MySQL3、部署jspgou(电子商城)一、前言 什么是JAVA虚拟机 所谓虚拟机,就是一台虚拟的计算机。他是一款软件,用来执行一系列虚拟计算机指令…

背景透明(opacity vs background)

最近在做项目的时候,遇到透明度的相关设置。 常用的背景透明设置可分为两种,分别是: 一是给background设置透明度。二是利用opacity属性。 在跳了一些坑之后,本人更推荐给background设置透明度,为什么呢?…

【QCA6174】SDX12 WiFi QCA6174 bdwlan30.bin和bdwlan30.txt相互转化操作说明

1.从高通获bin文件和txt文件相互转化工具 软件包名称 QCA6174_BDF_Converter.zip 2.解压工具包,解压之后包括以下文件 3.从sdx12 sdk拷贝bdwlan30.bin 路径如下,将bdwlan30.bin放到QCA6174_BDF_Converter目录下 ./cnss_proc_firmware/cnss_proc/wlan…

Twitter账号老被封?一文教会你怎么养号

昨天龙哥给大家科普完要怎么批量注册Twitter账号,立刻有朋友来私信龙哥说里面提到的这个养号和防关联具体是个怎么样的做法。由于Twitter检测机制还是比较敏感的,账号很容易被冻结,所以养号是非常重要的步骤。其实要养好Twitter账号其实并不难…

docker-compose极速部署kafka3.2.0集群(含zookeeper集群)

极速部署kafka3.2.0集群准备工作:准备三台服务器部署Zookeeper集群部署kafka集群创建Topic开启JMX_PORTkafka集群管理工具使用的 KakfaStreaming准备工作:准备三台服务器 服务器地址缩写192.168.0.200200192.168.0.201201192.168.0.202202 一、完成服务…

格创东智与金羽新能合作|先进工业互联网助力固态电池智能化运营

2022年12月,浙江金羽新能源科技有限公司(以下简称金羽新能)与格创东智签订战略合作框架协议,并在湖州安吉举行金羽新能固态电池MES项目启动会。 固态电池是一种使用固体电极和固体电解质的电池。相较传统锂电池(液态电…

Android开发初识

文章目录一 Android发展历程二 开发工具Android Studio的发展历程三 硬件要求四 Android Studio 的安装和使用一 Android发展历程 安卓(Android)是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。 由美国Google公…

解药 or 毒药:ChatGPT辅助设计,规划师和建筑师要失业了吗?

​人工智能聊天机器人ChatGPT火爆全球, 规划师笔记也紧赶潮流,快速尝试, AI与设计发生碰撞, 会产生怎样的火花? 运用AI帮助写文案、作图、视频剪辑、游戏制作等等随着2021被称为元宇宙元年,近些年来AI在…

中国地图航线图(echarjs)

1、以上为效果图 需要jq、echarjs、china.json三个文件支持。以上 2、具体代码 DOM部分 <!-- 服务范围 GO--> <div class"m-maps"><div id"main" style"width:1400px;height: 800px; margin: 0 auto;"> </div> <!-…

【Java基础】021 -- 常见算法及API(查找、排序、Arrays)

目录 常见算法 1、企业中的常见算法 一、查找算法 1、基本查找&#xff08;数据没有任何顺序&#xff09; ①、代码实现&#xff1a; ②、课堂练习&#xff1a; 2、二分查找/折半查找&#xff08;数据一定要有顺序&#xff09; ①、示例情况&#xff1a; ②、代码实现&#xff…

一文搞懂ECU休眠唤醒之利器-TJA1145

前言 首先&#xff0c;小T请教大家几个小小问题&#xff0c;你清楚&#xff1a; 什么是TJA1145吗&#xff1f;你知道休眠唤醒控制基本逻辑是怎么样的吗&#xff1f;TJA1145又是如何控制ECU进行休眠唤醒的呢&#xff1f;使用TJA1145时有哪些注意事项呢&#xff1f; 今天&…

自动化测试的12个认识误区给后人避坑

自动化测试的12个认识误区 1、自动化的软件测试与手工的软件测试过程一样 自动化测试所需要的技巧与手工测试所需要的技巧是不一样的。 通常&#xff0c;你的项目经理会被那些测试工具销售们迷惑&#xff0c;认为自动化的软件测试就是简单地按一个录制的按钮&#xff0c;产…

电脑风扇声音大怎么办?五个好用的方法【完整教程】

电脑风扇可以电脑更好地运行&#xff0c;但是很多小伙伴投稿&#xff0c;说它们的电脑风扇不知道什么原因&#xff0c;风扇的声音很大。电脑风扇声音大怎么办&#xff1f;来看本文讲解的5个原因以及对应的解决方法。 操作环境&#xff1a; 演示机型&#xff1a;Dell optiplex 7…

如何备考pmp才能一次通过?

只有努力学习PMP知识&#xff0c;才能一次性通过这次考试&#xff0c;这是大家公认的。 但一味地埋头学习是枯燥而低效&#xff0c;学习还是要注重方法&#xff0c;下面我就来谈谈PMP的学习方法&#xff0c;希望能够帮助到你&#xff0c;一把通过pmp考试。 把PMBOK当作小说来…

Redis三 高级篇-2. 多级缓存

多级缓存 《Redis三 高级篇-2. 多级缓存》 提示: 本材料只做个人学习参考,不作为系统的学习流程,请注意识别!!! 《Redis三 高级篇-2. 多级缓存》多级缓存《Redis三 高级篇-2. 多级缓存》1. 什么是多级缓存2. JVM进程缓存2.1 导入案例2.2 初识Caffeine2.3 实现JVM进程缓存2.3.…

网络编程套接字Socket

一.什么是网络编程网络编程&#xff0c;指网络上的主机&#xff0c;通过不同的进程&#xff0c;以编程的方式实现网络通信&#xff08;或称为网络数据传输&#xff09;。二.为什么要实现网络编程我们通过网络编程可以在网络中获取资源&#xff0c;实质是通过网络&#xff0c;获…