当前位置: 首页 > news >正文

java —— 类与方法

一、访问修饰符

在类和方法中,均可使用访问修饰符以锁定该类或方法的被访问权限。访问修饰符有四种:

(一)public

同一个项目中,对所有的类可见。

(二)protected

同一个项目中,对同一个包中的类可见,对子类可见,对其他包中的类不可见。

(三)default

同一个项目中,对同一个包中的类可见,对其他包中的类不可见。

(四)private

同一个项目中,只对当前类可见。

二、static 和 this 关键字

(一)static

static 用于修饰类或方法,表示其为静态类或静态方法,在调用的过程中无需对其实例化,即可直接使用。

public class OuterSample
{public static void innermethod(){System.out.println("hello!");}public static void main(String[] args){OutSample.innermethod();}
}

该案例中,由于方法 innermethod() 用 static 修饰,在 main 方法中调用的时候无需实例化,直接用 类名.方法名 即可调用。

(二)this

this 关键字用于指代当前对象(this 指向对类进行实例化之后的全局变量,而不是方法中定义的局部变量),比较以下三个案例:

public class OuterSample
{	String name="Spike";		public String innermethod()   {    String name="Tom";    return name;    } 	public static void main(String[] args)    {   OuterSample os1=new OuterSample();   String x=os1.innermethod();   System.out.println(x);   }
}

本案例中没有使用 this 关键字,则调用 innermethod() 时默认使用局部变量 “Tom”。 

public class OuterSample
{	String name="Spike";		public String innermethod()   {    String name="Tom";    return this.name;    } 	public static void main(String[] args)    {   OuterSample os1=new OuterSample();   String x=os1.innermethod();   System.out.println(x);   }
}

 本案例中,os1 为类 OuterSample 的一个实例化对象,this 关键字指向类 OuterSample 的全局变量,即 “Spike”。

public class OuterSample
{	String name="Spike";		public String innermethod()   {    this.name="Tom";    return this.name;    } 	public static void main(String[] args)    {   OuterSample os1=new OuterSample();   String x1=os1.innermethod();   System.out.println(x1);   String x2=os1.name;System.out.println(x2);}
}

 本案例中,this 同样指向全局变量,但在方法中对全局变量进行了重新赋值,所以即使 this 指向全局变量,也是在方法 innermethod() 中被赋值为 “Tom” 的全局变量。而 x2 没有调用方法,this 指向的仍然是方法 innermethod() 外部的全局变量,也就是“Spike”。

三、构造方法和普通方法

(一)构造方法

① 方法名与类名相同

② 没有返回值类型

③ 不能使用 static 修饰

④ 可以有多种重载形式

(二)普通方法

普通方法名称与类名不能相同,分为静态方法和实例方法:

静态方法,使用 static 修饰符,无需对类进行实例化即可调用。

实例方法,不使用 static 修饰符,调用时需要先对类进行实例化,然后用 类名.方法名 调用。

四、方法重载和方法重写

(一)方法重载

构造方法和普通方法均可进行方法重载,也就是方法名相同,而参数数量或类型不同。

特点:同一个类,方法名相同,参数列表不同。

(二)方法重写

 方法重写发生在子类继承父类的情况下,当子类需要对父类的某些方法进行重新编写的时候,可以在子类中进行方法重写,方法名与父类的方法名相同。

特点:不在同一个类,子类重写父类的方法,方法名和参数列表均相同。

相关文章:

java —— 类与方法

一、访问修饰符 在类和方法中,均可使用访问修饰符以锁定该类或方法的被访问权限。访问修饰符有四种: (一)public 同一个项目中,对所有的类可见。 (二)protected 同一个项目中,对…...

【MySQL精通之路】InnoDB-启动选项和系统变量

系统变量可以在服务器启动时设置TRUE或FALSE启用禁用,也可以通过使用--skip前缀来禁用 例如: 要启用或禁用InnoDB自适应哈希索引,可以在命令行中使用--skip-innodb-adaptive-hash-index或--innodb-adaptive-hash-index,或者在配置…...

嵌入式linux系统中文件系统制作方法详解

第一:制作目的 1、掌握嵌入式Ubuntu系统的构建方法 2、熟悉嵌入式Ubuntu文件系统映射压缩打包方法 3、掌握RK3399linux系统单文件系统更新方法 Ubuntu根文件系统制作完成之后,把制作好的ubuntu文件系统映射文件在出厂系统的基础上替换原有的ubuntu根文件系统,即对 Linux 系统…...

AI爆文写作:要写文章爆,这47个爆文前缀少不了!

47个爆文前缀:很震惊很好用 这些前缀,虽然被用了无数次,但每个人看到还是会忍不住点进去。 可以借鉴这样强情绪的句式。 序号前缀1就在刚刚…2真相曝光…3震惊国人…4惊天秘密…5疯狂转发…6删前速看…7千万别吃…8还敢喝吗…9癌症前兆…10赶快扔了…11太可怕了…12大事不…...

javas-core VS java-object-diff

对照工具选择 javas-core 和 java-object-diff ,对比demo https://github.com/kofgame/objectdiff-vs-javers,都为同源对比,都支持嵌套对象。 使用JMH测试方法进行性能测试,使用题库的QuestionResponseVO对象来进行对照对比,进行…...

dirsearch指令大全

文章目录 基本用法主要参数和选项目标和URL设置--url URL--url-list FILE 扩展名--extensions EXTENSIONS 字典文件--wordlists WORDLIST 线程和性能--threads THREADS--timeout SECONDS--delay MILLISECONDS 忽略状态码代理和请求设置--proxy PROXY--headers HEADERS 保存结果…...

C++基础:构建者设计模式

#include <iostream> #include <string> using namespace std; //构建者设计模式-一种工厂只生产一种复杂的产品 class robot {public:string head;string upbody;string downbody; };class robotBuilder {private:robot *myRobot;public:robotBuilder() //构造函…...

Swift 请求用户授权以跟踪其跨应用或网站的活动

步骤1&#xff1a;导入框架 首先&#xff0c;需要在Swift文件中导入AppTrackingTransparency框架。 import AppTrackingTransparency import AdSupport步骤2&#xff1a;请求跟踪许可 在适当的地方请求用户的跟踪许可。通常&#xff0c;这个请求会在应用启动时或者在用户执行…...

最新版npm详解

如&#xff1a;npm中搜索 jQuery image.png image.png 接地气的描述&#xff1a;npm 类似于如下各大手机应用市场 image.png image.png 查看本地 node 和 npm 是否安装成功 image.png image.png 或 npm install -g npm image.png image.png image.png image.png image.…...

超值分享50个DFM模型格式的素人直播资源,适用于DeepFaceLive的DFM合集

50直播模型&#xff1a;点击下载 作为直播达人&#xff0c;我在网上购买了大量直播用的模型资源&#xff0c;包含男模女模、明星脸、大众脸、网红脸及各种稀缺的路人素人模型。现在&#xff0c;我将这些宝贵的资源整理成合集分享给大家&#xff0c;需要的朋友们可以直接点击下…...

Python——一维二维字典数据转化为DataFrame的方法

import pands as pddf pd.DataFrame(dict)...

unity中如何插入网页

在Unity中插入自己的网页通常是通过使用Unity的WebGL构建目标和HTML页面来实现的。以下是一些步骤&#xff1a; 构建你的Unity项目为WebGL&#xff1a;在Unity中&#xff0c;选择Build Settings&#xff08;构建设置&#xff09;&#xff0c;将Platform&#xff08;平台&#x…...

【负载均衡在线OJ项目日记】引入网络库和客户端用户路由功能

目录 引入cpp-httplib库 将编译与运行服务打包 代码 客户端用户路由功能 采用MVC结构进行设计 用户路由功能 路由功能代码 引入cpp-httplib库 对于后端编译与运行模块基本已经设计完成&#xff0c;最后用户是通过网络传递代码等信息&#xff1b;我们就要将这个模块引入…...

【Vue3】env环境变量的配置和使用(区分cli和vite)

原文作者&#xff1a;我辈李想 版权声明&#xff1a;文章原创&#xff0c;转载时请务必加上原文超链接、作者信息和本声明。 文章目录 前言一、env文件二、vue3cli加载env1..env配置2..dev配置&#xff08;其他环境参考&#xff09;3.package.json文件4.使用 三、vue3vite加载e…...

ACW石子合并-XMUOJ元素共鸣:唤醒神之眼 -区间DP

题目 思路 话不多说&#xff0c;直接上代码 代码 /* ACW石子合并-XMUOJ元素共鸣&#xff1a;唤醒神之眼 JinlongW-2024/05/25 区间DP 当i<j时&#xff0c;f[i][j]min(f[i][k]f[k][j]s[j]-s[i-1]) 当ij时&#xff0c;f[i][j]0 最终答案&#xff1a;f[1][n] *//* 区间DP…...

大语言模型实战——搭建纯本地迷你版RAG

1. 概念 RAG&#xff08;Retrieval Augmented Generation&#xff09;检索增强生成&#xff0c;它结合了搜索技术和大语言模型的提示词功能&#xff0c;以搜索算法找到的信息作为背景上下文&#xff0c;来辅助大语言模型&#xff08;Large Language Model, LLM&#xff09;生成…...

内存分配算法

一、实验目的&#xff1a; 实验目的&#xff1a; 通过编写一个内存分配模拟程序&#xff0c;实现首次适应算法&#xff08;First Fit&#xff09;、循环首次适应算法&#xff08;Next Fit&#xff09;、最佳适应算法&#xff08;Best Fit&#xff09;和最差适应算法&#xff08…...

Hive运行错误

Hive 文章目录 Hive错误日志错误SessionHiveMetaStoreClientql.Driver: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTaskerror: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster Please check …...

vue3之使用图片实现类似于 el-radio 的单选框功能,并且可实现选中和取消选中

背景 我们在工作中常用的一般都是使用类似于 element-plus 中的 el-radio 或者是 el-checkbox 来实现单选或者多选 若有一天我们遇到了一个新的业务需求,需要使用 图片 来实现类似于 el-radio 的功能,并且要求实现第一次点击时处于选中状态,当我们再次点击时处于非选中状态…...

Vue 安装vue

1、官网安装下载安装nodejs 2、安装完成后&#xff0c;通过命令查看版本,可以查看到版本 node -v npm -v 3、安装Vue CLi npm install -g vue/cli 4、创建项目,vue create test 如果遇到报错&#xff1a; ERROR Error: spawn yarn ENOENT Error: spawn yarn ENOENT at ChildP…...

番茄小说下载器终极指南:三步构建你的离线阅读自由王国

番茄小说下载器终极指南&#xff1a;三步构建你的离线阅读自由王国 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 你是否曾在地铁里读到精彩章节时突然断网&#xff1f;是否在…...

解密高校教师必会的Gemini 3.1 Pro五大科研隐藏技能:从论文评估到创新点锁定

各位同仁好,我是七哥。一个在高校里从事人工智能相关领域研究,钻研用大模型AI实操的学术人。可以和七哥交流学术写作或Gemini、GPT、Claude等大模型学术实操相关问题,多多交流,相互成就,共同进步。 科研路上,有人发完顶刊顺利晋升,有人还在为创新点抓耳挠腮。 大多数教…...

基于USB ACA模式实现安卓手机边玩边充的游戏手柄设计

1. 项目缘起&#xff1a;当手机性能过剩&#xff0c;却败给了触摸屏几年前&#xff0c;我清理手机游戏时&#xff0c;发现一个挺无奈的现象&#xff1a;性能足以媲美掌机的智能手机里&#xff0c;只剩下一些慢节奏的平台解谜或者数独。那些曾经让我在掌机上废寝忘食的赛车、动作…...

TorchDynamo与TorchInductor:PyTorch编译器生态的完整解析

TorchDynamo与TorchInductor&#xff1a;PyTorch编译器生态的完整解析 【免费下载链接】torchdynamo A Python-level JIT compiler designed to make unmodified PyTorch programs faster. 项目地址: https://gitcode.com/gh_mirrors/to/torchdynamo TorchDynamo 是一个…...

基于SMD与贝壳的微型音频装置:从电路设计到嵌入式开发的完整实践

1. 项目概述&#xff1a;一个藏在贝壳里的声音世界你小时候有没有捡起一个海螺壳&#xff0c;把它贴在耳边&#xff0c;然后听到里面传来“呜呜”的海风声&#xff1f;那个瞬间&#xff0c;仿佛整个海洋都被装进了小小的贝壳里。今天这个项目&#xff0c;就是把那个童年的魔法&…...

对比自行维护多个 API 源,使用 Taotoken 聚合服务在运维复杂度上的降低

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 对比自行维护多个 API 源&#xff0c;使用 Taotoken 聚合服务在运维复杂度上的降低 在构建依赖多个大语言模型的应用时&#xff0c…...

NBTExplorer:让Minecraft数据编辑从专业工具变成人人可用的可视化平台

NBTExplorer&#xff1a;让Minecraft数据编辑从专业工具变成人人可用的可视化平台 【免费下载链接】NBTExplorer A graphical NBT editor for all Minecraft NBT data sources 项目地址: https://gitcode.com/gh_mirrors/nb/NBTExplorer 你是否曾经面对Minecraft世界文件…...

Style-Bert-VITS2未来发展方向:从语音克隆到实时语音转换的技术演进路线

Style-Bert-VITS2未来发展方向&#xff1a;从语音克隆到实时语音转换的技术演进路线 【免费下载链接】Style-Bert-VITS2 Style-Bert-VITS2: Bert-VITS2 with more controllable voice styles. 项目地址: https://gitcode.com/gh_mirrors/st/Style-Bert-VITS2 Style-Bert…...

2026数据治理平台选型:五款产品如何赋能数据中台建设?

一、引言&#xff1a;数据中台的成败&#xff0c;关键在治理在数字化浪潮的席卷下&#xff0c;“数据中台”已成为当代企业信息化架构中的核心战略组件。然而&#xff0c;一个悖论正困扰着大量企业&#xff1a;数据中台的基础设施搭建日趋完善&#xff0c;但真正将数据转化为业…...

Redis 客户端连接详解

Redis 客户端连接详解 引言 Redis 是一款高性能的内存数据结构存储系统,常用于缓存、会话管理、实时排行榜等功能。客户端连接是 Redis 生态系统中的重要组成部分,本文将详细介绍 Redis 客户端连接的相关知识,包括连接方式、连接配置、连接管理等方面。 Redis 客户端连接…...