首页 > 编程语言 >java学习日记20230312-构造方法

java学习日记20230312-构造方法

时间:2023-03-12 23:23:19浏览次数:33  
标签:20230312 java 构造方法 初始化 默认 构造 class javap

构造方法/构造器

  • 基本语法
    • [修饰符] 方法名(形参列表){方法体;}
    • 构造器的修饰符可以是默认;
    • 构造器没有返回值;
    • 方法名和类名字必须一样;
    • 参数列表和成员方法一样的规则;
    • 构造器调用系统完成;
    • 构造方法又叫构造器,是类的一种特殊的方法,他的主要作用是完成对新对象的初始化
      • 方法名和类名相同
      • 没有返回值
      • 在创建对象时,系统会自动调用该类的构造器完成对对象的初始化
    • 注意事项和使用细节
      • 一个类可以定义多个不同的构造器,即构造器重载;
      • 构造器名和类名保持一致;
      • 构造器没有返回值;
      • 构造器是完成对象的初始化,并不是创建对象;
      • 在创建对象时,系统自动调用该类的构造方法;
      • 如果程序员没有定义构造方法,系统会自动给类生成一个默认无参数构造方法,也叫默认构造器,比如Person(){},使用javap指令反编译看看;
      • 一旦定义了自己的构造器,默认的构造器就覆盖了,就不能再使用默认的无参数构造器,除非显式的定义一下,即Person(){};
      • javap Dog.class
      • javap是jdk一个命令行工具,对class字节码进行反编译
      • javap -v 输出附加信息,-public 显示公共类和成员,-version显示版本信息,-c 对代码进行反汇编
        • 加载Person类信息,只会加载一次
        • 在堆中分配空间(地址)
        • 完成对象初始化
          • 默认初始化
          • 显示初始化
          • 构造器初始化
        • 把对象在堆中的地址,返回给p,对象的引用

  class{

      属性

      成员方法

      构造器

  }

标签:20230312,java,构造方法,初始化,默认,构造,class,javap
From: https://www.cnblogs.com/DragonJack/p/17209056.html

相关文章

  • 20230312考试总结
    \(0min\)~\(10min\):LH忘设闹钟了,还没起床\(2min\)左右:到了考场\(20min\)~\(40min\):思考第一题,没有看出什么特别的性质,有点无从下手,想着打随机化。\(40min......
  • Java基础知识点(集合、ArrayList集合、基本数据类型对应的包装类及
    1.为什么要有集合?集合它可以自动扩容。2.集合存储数据类型的特点:不能直接存基本数据类型,需要将其变为包装类再存入,可以存引用数据类型。二:集合和数组的对比长度:数组的长度固......
  • 学习java第三周
    前言:这周过的很充实,因为对之前的内容没有很好理解本周一部分时间消化之前内容,经过三周的学习,对Java开始有了自己的认知,长路漫漫对自己的学习情况并不是很满意.对本周内......
  • java学习日记20230311-方法重载/可变参数/作用域
    方法重载java中允许同一个类中,多个同名方法的存在,但要求形参列表不一致:System.out.println();减轻了起名的麻烦减轻了记名的麻烦方法名必须相同形参列表必须不同(个......
  • java.lang.IllegalStateException: couldn't determine local port. Please set sprin
    2023-03-12记录一下出现上述问题的原因(1)问题描述:在打包springboot项目时,出现了上述问题(2)产生原因:在打包时,项目的生命周期中没有关闭test(3)解决方法:关闭test,如图,之后......
  • 学java前预备知识
    计算机预科1.打开CMD的方式开始+系统+命令提示符。Win+R输入CMD打开控制台(推荐使用)。在任意文件夹下,按住Shift键+鼠标右键打开命令行窗口。在资源管理......
  • JavaScript异步编程的深入理解,使用回调函数实现异步编程
    异步编程是指在程序运行时,任务不会按照函数调用的顺序依次执行,而是可以同时执行多个任务。JavaScript异步编程有很多种方式,例如使用回调函数、Promise、async/await等。下面......
  • 2023-03-12 Java中的链表
    链表LinkedListJDK中有标准库实现:java.util.LinkedList,和java.util.List对比,其实两者都可以看做是动态数组链表的特征线性数据结构——链表是真正的动态数据结构:数......
  • AI来实现代码转换!Python转Java,Java转Go不在话下?
    今天看到个有趣的网站,给大家分享一下。该网站的功能很神奇,可以实现编程语言的转化。感觉在一些场景之下还是有点作用的,比如你原来跟我一样是做Java的,因为工作需要突然转G......
  • 【Java】图片压缩处理
    需求如下:一些图片太大了,手机拍摄上传的图片有5M大小,然后阅读的内容其实不需要特别高的分辨率1M以下的图片并不需要被压缩,压缩只是针对部分过大的图片处理 图片处理库:......