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 修饰符,调用时需要先对类进行实例化,然后用 类名.方法名 调用。

四、方法重载和方法重写

(一)方法重载

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

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

(二)方法重写

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

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

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

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

相关文章

Study--Oracle-03-Oracle19C--RAC集群部署

一、硬件信息及配套软件 1、硬件设置 RAC集群虚拟机:CPU:2C、内存:9G、操作系统:30G、数据库安装目录:100G 数据存储:50G (10G*5) 共享存储:2G (1G*2) 2…

基于 vuestic-ui 实战教程

1. 前言简介 Vuestic UI是一个基于开源Vue 3的UI框架。它是一个MIT许可的UI框架,提供了易于配置的现成前端组件,并加快了响应式和快速加载Web界面的开发。它最初于2021年5月由EpicMax发布,这就是今天的Vuestic UI。 官网地址请点击访问 体验…

博客摘录「 python——正则表达式(re模块)详解」2023年11月17日

?P<name>) 分组起别名&#xff0c;匹配到的子串组在外部是通过定义的 name 来获取的(?Pname) 引⽤别名为name分组匹配到的字符串

车与网络之间(V2N)简介

车与网络之间&#xff08;V2N&#xff09;简介 一、定义与概述 V2N&#xff0c;全称为Vehicle-to-Network&#xff0c;是指车辆与网络之间的通信和连接技术。这种技术使得车辆能够与互联网进行无缝连接&#xff0c;进而实现导航、娱乐、防盗等多种应用功能。在智能交通系统领…

【Linux安全】iptables防火墙(二)

目录 一.iptables规则的保存 1.保存规则 2.还原规则 3.保存为默认规则 二.SNAT的策略及应用 1.SNAT策略的典型应用环境 2.SNAT策略的原理 2.1.未进行SNAT转换后的情况 2.2.进行SNAT转换后的情况 3.SNAT策略的应用 3.1.前提条件 3.2.实现方法 三.DNAT策略及应用 1…

【大模型应用开发极简入门】使用GPT-4和ChatGPT的编程起点:ChatCompletion详解

文章目录 一. 多轮对话二. 使用起点&#xff1a; ChatCompletion三. 调用模型&#xff1a;create方法1. 主要的输入参数&#xff1a;model、message2. 对话长度和token数量管理3. 可选参数 四. ChatCompletion端点的输出格式 本文讨论如何使用GPT-4和ChatGPT背后的模型&#xf…

怎么查看项目中antd的版本

使用antd时&#xff0c;有在线参考资料&#xff0c;但是需要根据项目需要&#xff0c;选择对应版本的参考资料。 antd在线参考资料&#xff1a; 组件总览 - Ant Design 如何查看当前项目中antd的版本呢&#xff1f; 在项目的终端中输入&#xff1a; npm list antd antd官网选择…

庆余年第2季,带你走进怎样的世界?

《庆余年》第二季 演员阵容与幕后团队的新组合为我们带来了别样的观影体验 他的演技真的是在线&#xff0c;其实这剧本很难搞 该搞笑的时候要搞笑&#xff0c;但也不能一直在无厘头胡闹 所以题主说节奏拿捏的好我也很赞同 反观有其他几位演员控制力就差很多 特别是某一集…

Spring:JWT

文章目录 一、介绍 一、介绍 JWT&#xff08;JSON Web Token&#xff09;是一种开放标准&#xff08;RFC 7519&#xff09;的方法&#xff0c;用于在双方之间安全地传输信息。这些信息可以是验证、授权、信息交换等。JWT 通常被用于在客户端和服务器之间传递用户信息&#xff…

STM32H743的FDCAN使用方法(1):STM32CubeMX初始化代码生成

0 工具准备 1.STM32CubeMX1 前言 本文介绍基于STM32CubeMX&#xff0c;使用stm32h743xi的对FDCAN2进行配置的方法。 2 初始化代码生成 2.1 选择FDCAN引脚 本例选择PB5、PB6作为FDCAN2的RX、TX引脚。 2.2 选择FDCAN时钟源 本例选择PLL2Q作为FDCAN时钟源&#xff0c;频率…

Expected Boolean, got String with value “true“.

在vue el-tree节点添加属性expand-on-click-node"false"&#xff0c;浏览器控制台提示上面的错误&#xff0c; 将false的双引号去年依然提示&#xff0c;然后在expand-on-click-node"false"最前面添加冒号&#xff0c;即变成双向绑定&#xff0c;刷新页面…

UDP的报文结构和注意事项

UDP协议是在传输层的协议。 UDP无连接&#xff0c;不可靠传输&#xff0c;面向数据报&#xff0c;全双工。 UDP的报文结构 学习网络协议&#xff0c;最主要的就是报文格式。 对于UDP来说&#xff0c;应用层的数据到达&#xff0c;UDP之后&#xff0c;就会给应用层的数据报前面…

服务器端口开放,服务器端口开放命令与方法的专业阐述

在计算机网络中&#xff0c;服务器端口的开放是确保网络通信畅通无阻的关键步骤。服务器端口是服务器与外部网络通信的入口&#xff0c;通过正确配置和开放相应的端口&#xff0c;可以实现各种网络服务和应用的功能。 一、命令与工具 在Linux系统中&#xff0c;常用的命令和工…

Python中如何将字符串转换成可调用的方法

字符串转化成方法 import importlibdef find_method_by_str(method_path):"""通过字符串&#xff0c;寻找方法"""if not method_path:return Nonemethods method_path.split(".")_module importlib.import_module(".".jo…

4. C++网络编程-TCP客户端的实现

TCP Client网络编程基本步骤 创建socket&#xff0c;指定使用TCP协议使用connect连接服务器使用recv/send接收/发送数据关闭socket TCP-connect连接请求 !man 2 connect #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int connect(int sock…

邦芒简历:简历照片的艺术与真实

在美颜滤镜与P图技术盛行的今天&#xff0c;许多人似乎对“完美”形象有着不懈的追求。从社交平台的自拍&#xff0c;到简历上的证件照&#xff0c;无一不经过精心的修饰与处理。然而&#xff0c;这种对完美的追求在求职过程中&#xff0c;是否总是起到积极的作用呢&#xff1f…

内网渗透(不出网上线CS)

目录 CS的概述 实验&#xff1a;不出网上线CS实验 一&#xff1a;给PC1种马 二&#xff1a;使用Beacon SMB去控制PC2。 三&#xff1a;将CS权限传递给MSF 四&#xff1a;将msf权限传递给CS CS的概述 cs是一款强大的控制windows木马的工具。是目前渗透中常使用的一个工具…

一些Spring Boot直接的解释

RequestParam() 就是从问号之后的键值对获取值绑定值,这个方法用的是get方法 /fjg?namefjg http://example.com/find?productId1234GetMapping("/find") public String getProduct(RequestParam("productId") String productId) {return "Product …

fastapi中实现多个路由请求

大家伙&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。 前言 最近在写机器人相关的接口&#xff0c;顺手学了学python&#xff0c;发现这是个好东西&#xff0c;写代码效率比java要高很多&#xff0c;比如写个词云呀&#xff0c;写个回调呀&am…

随手笔记4

1、https://www.pgyer.com/app/distribution 蒲公英 移动发布二维码