Java基础知识总结(46)

(1)构造器 构造器的定义: 需要注意的是构造器是一种特殊的方法,其方法名和类名相同,但没有方法返回值,也不用void修饰。

        [修饰符] 方法名(形参列表){
•方法体   
•} 修饰符:修饰符可以省略,也可以是public、protected、private其中之一,如果构造器的修饰符为private,则不能通过new调用,也就是说当一个类的构造器被private修饰,该类则不能通过new来创建对象方法名:必须与类名相同形参列表:和方法中的形参格式完全相同
​构造器的作用:
​1、创建对象2、初始化实例变量3、如果开发者不提供构造方法,编辑器会自动提供一个无参构造方法

(2)this关键字

    1、this访问实例变量时,一个作用是区分实例变量和局部变量,另一个是在实例方法中访问实例变量2、this可以在方法中访问调用类中的其他实例方法,this可以省略3、在构造器中可以用this调用其他构造器,且只能在第一行

(3)类方法和实例方法

    1、static修饰的方法叫做类方法2、不用static修饰的方法叫做实例方法,实例方法属于对象,调用方法时必须先创建对象,对象.方法名3、在同一个类中,类方法间互相调用实际上可以省略类名,同样的,实例方法间互相调用省略了this4、在同一个类中,实例方法可以调用类方法,因为类方法的初始化在实例方法的初始化之前,实例方法被调用时,内部类已经被加载了。this不能出现在类方法中。

(4)方法中参数的传递

    public class Test {
​//在JVM中的栈内存中 创建main方法栈帧public static void main(String[] args) {// TODO Auto-generated method stub
​int a = 10;int b = 5;//调用swap方法,并传递参数。JVM在栈内存中 创建swap方法栈帧swap(a,b);//方法调用结束后 JVM swap方法栈帧被回收System.out.println(a);//5System.out.println(b);}

        public static void swap(int a,int b) {int temp = a;a = b;b = temp;}
​}

    public class Cat {
​int age;
​public Cat() {}
​public Cat(int age) {this.age = age;}}
​public class Test {
​//在栈内存中 创建main方法栈帧public static void main(String[] args) {// TODO Auto-generated method stub
​//实例化cat对象 JVM会在堆内存中为Cat类实例化的对象分配内存,并将对象的地址存储在栈内存中Cat cat = new Cat(18);//调用change方法,并传递引用类型的参数对象cat。JVM在栈内存中 创建swap方法栈帧change(cat);//方法调用结束后 JVM中change方法栈帧被回收,打印对象的age变量,此时age变量的值已被改变。System.out.print(cat.age);}
​/*** JVM会在栈内存中为变量cat分配新的内存,该内存中同样存储的是堆内存中实参对象的地址* @param cat*/public static void change(Cat cat) {//为堆内存中对象的实例变量赋值cat.age = 30;}}

(4)可

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

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

相关文章

java中的尾递归

1、基本概念 1)尾调用: 在计算机学里,尾调用是指一个函数里的最后一个动作是返回一个函数的调用结果的情形,即最后一步新调用的返回值直接被当前函数的返回结果。此时,该尾部调用位置被称为尾位置。尾调用中有一种重…

[翻译] 在 CI 或测试环境中使用 Docker-in-Docker,三思而后行

发布日期:2024-04-08 18:01:01 原文地址:Using Docker-in-Docker for your CI or testing environment? Think twice. Docker-in-Docker 的主要目的是帮助 Docker 本身的开发。许多人使用它来运行 CI(例如使用 Jenkins)&#xf…

[NKCTF2024]-PWN:leak解析(中国剩余定理泄露libc地址,汇编覆盖返回地址)

查看保护 查看ida 先放exp 完整exp: from pwn import* from sympy.ntheory.modular import crt context(log_leveldebug,archamd64)while True:pprocess(./leak)ps[101,103,107,109,113,127]p.sendafter(bsecret\n,bytes(ps))cs[0]*6for i in range(6):cs[i]u32(p…

Java 基于微信小程序的校园请教小程序的研究与实现,附源码

博主介绍:✌程序员徐师兄、10年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅&#x1f447…

SpringBoot整合Spring Data JPA

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉🍎个人主页:Leo的博客💞当前专栏: 循序渐进学SpringBoot ✨特色专栏: MySQL学习 🥭本文内容: SpringBoot整合Spring Data JPA 📚个人知识库: Leo知识库,欢迎大家访问 1.…

ChatGPT新手指南:如何用AI写出专业学术论文

ChatGPT无限次数:点击直达 ChatGPT新手指南:如何用AI写出专业学术论文 在当今信息爆炸的时代,人工智能技术的快速发展为我们提供了许多新的可能性。ChatGPT作为一种先进的自然语言处理技术,不仅能够进行对话和文本生成,还可以辅助…

淘宝销量API商品详情页原数据APP接口测试㊣

淘宝/天猫获得淘宝app商品详情原数据 API 返回值说明 item_get_app-获得淘宝app商品详情原数据 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地…

Java-StringBuilder容器

一、基础用法 1.创建对象 StringBuilder sbnew StringBuilder(); 2.添加元素 可以添加整型、浮点型、字符串等。 sb.append(1); sb.append(2.3); sb.append(true); 3.反转 sb.reverse(); 4.获取长度 int len sb.length(); 5.转变成字符串 tring strsb.toString(); …

Python学习笔记11 - 列表

1. 列表的创建与删除 2. 列表的查询操作 3. 列表的增、删、改操作 4. 列表元素的排序 5. 列表生成式

利用IP地址判断羊毛用户:IP数据云提供IP风险画像

在当今数字化社会,互联网已经成为人们日常生活和商业活动中不可或缺的一部分。然而,随着网络的普及,网络欺诈行为也日益猖獗,其中包括了羊毛党这一群体。羊毛党指的是利用各种手段获取利益、奖励或者优惠而频繁刷取优惠券、注册账…

png转换成jpg格式?这几种方法很简单

在发送电子邮件时,附件的大小是一个重要的考虑因素。将PNG图像转换为jpg格式可以减小文件大小,减少附件的传输时间和存储空间占用。这对于商务邮件、个人邮件或邮件营销活动中的图片附件都非常有用,下面就介绍几个可以快速完成图片转格式的方…

C++之std::initializer_list详解

目录 1.引言 2.容器的初始化 3.函数中使用std::initializer_list 4.自定义类型中使用std::initializer_list 5.迭代std::initializer_list 6. 在模板中使用std::initializer_list 7.std::initializer_list的限制 8.总结 1.引言 std::initializer_list 是 C11 中的一个特…

在Win11上部署大模型推理加速工具vLLM

vLLM是伯克利大学LMSYS组织开源的大语言模型高速推理框架,旨在极大地提升实时场景下的语言模型服务的吞吐与内存使用效率。vLLM是一个快速且易于使用的库,用于 LLM 推理和服务,可以和HuggingFace 无缝集成。vLLM利用了全新的注意力算法PagedA…

Docker容器与虚拟化技术:OpenEuler 部署 Prometheus 与 Grafana

目录 一、实验 1.环境 2.OpenEuler 部署 Prometheus 3.OpenEuler 部署 Grafana 4.使用cpolar内网穿透 二、问题 1.拉取镜像失败 2.如何导入Grafana监控模板(ES) 一、实验 1.环境 (1)主机 表1 主机 系统架构版本IP备注…

Scrapy框架spider类异常处理

说明:仅供学习使用,请勿用于非法用途,若有侵权,请联系博主删除 作者:zhu6201976 一、捕获Request所有网络相关异常 在spider类中,我们构造Request对象或FormRequest对象时,可传递参数errback回调…

JAR包文件修改

项目中遇到修改JAR包中的某个依赖或者配置的话一般分为两种方式 1、压缩文件只能用来修改(1)配置文件(2)Java类(3)Mapper文件 2、使用Java 命令来 (1)解压Jar包 (2&…

BugKu:Simple SSTI

1.进入此题 2.查看源代码 可以知道要传入一个名为flag的参数,又说我们经常设置一个secret_key 3.flask模版注入 /?flag{{config.SECRET_KEY}} 4.学有所思 4.1 什么是flask? flask是用python编写的一个轻量web开发框架 4.2 SSTI成因(SST…

【数据结构与算法】:堆排序和选择排序

1. 堆排序 堆排序是一种比较复杂的排序算法,因为它的流程比较多,理解起来不会像冒泡排序和选择排序那样直观。 1.1 堆的结构 要理解堆排序,首先要理解堆。堆的逻辑结构是一棵完全二叉树,物理结构是一个数组。 (如果不知道什么是…

链表的中间结点——每日一题

题目链接: OJ链接 题目: 给你单链表的头结点 head ,请你找出并返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:head [1,2,3,4,5] 输出:[3,4,5] 解释&…

sql注入笔记整理

概念 发生在与数据库交互时;将未经过滤的用户输入信息合并到执行代码中造成恶意代码的执行错误注入 extractvalue(xml_flag,xpath) 如果出错打印xpath内容;数据库不识别#~符号 extractvalue(1,concat(~,database(),~)) 会打印出~数据库名~ updatexml(xml…