Java之Java基础八(方法)

embedded/2024/12/23 8:00:20/
  • 访问权限修饰符:常用的有public,private,protected,不写(为默认访问权限)
  • 需要有方法返回值类型,没有用void
  • 需要有方法名,在同一类中方法的签名不能重复方法签名:方法名+参数列表)【单纯方法名可重复】
  • 参数列表:数量,类型,顺序 --> 方法重载(方法名相同,参数列表不同,与返回值无关)【发生在编译阶段】
  • 方法必须有参数列表,可以为空但不能省略
  • 可以用关键字static,final等关键字修饰

一、修饰符

static(静态方法)

  •  static方法中不能使用this关键字

  • static修饰的方法,通过类名直接调用,不用创建对象(对象也可以调用),方便方法的调用

  • static修饰的方法,变量,代码块都是独一份的,便于共享

  • 静态方法中不能直接使用非静态方法(可以通过创建对象调用);非静态方法可以直接调用静态方法;同级别之间可以相互调用

  • static修饰代码块:无论在哪里书写,都是在main()方法中执行,多用于初始化,只加载一次

java"> //staticpublic class Person {private int age;private String name;public static String from;static {            //static修饰代码块,用于初始化System.out.println("用于初始化,执行更早");}public Person(int age, String name) {System.out.println("执行时间测试");this.age = age;this.name = name;}@Overridepublic String toString() {return "Person [age=" + age + ", name=" + name + ", from=" + from + "]";}public static void main(String[] args) {Person p1=new Person(132,"qwe");Person p2=new Person(13,"qwesd");System.out.println(p1.name);System.out.println(p2.name);p1.from="china";         //static修饰的变量是独一份的,共享的,更改一处即更改全部System.out.println(Person.from);System.out.println(p1.from);System.out.println(p2.from);System.out.println(p2);System.out.println(p2);}public void objtest() {}public static void classtest() {Person p3=new Person(2,"name");p3.objtest();     //在静态方法中调用非静态方法用对象}}

 二、方法参数

  • 提高了方法的灵活性
  • 类型:分为形参(方法定义时设置的参数)与实参(方法调用时设置的参数)
  • 传递方式:值传递引用传递java中只有值传递】
  1. 值传递:方法调用时,实参通过把它的内容副本传入方法内部,此时形参接收实参的一个拷贝,会开辟新空间
  2. 引用传递:‘引用’指使用真实内容的地址值,不会开辟新空间

可变参数

  •  指在调用方法时传入不定长度的参数,本质是基于数组实现的
  • 可变参数是指长度可变,但变量种类不行
  • 使用:在最后一个形参后加上三点 …,就表示该形参可以接受多个参数值【即String...var】
  • 可变参数可以不接收参数值,也可以接收多个参数值【以数组方式接收】
  • 可变参数只能作为方法的最后一个参数使用->即一个方法只能拥有一个可变参数
  • 可变参数在编译为字节码后,在方法签名中就是以数组形态出现的,若两个方法的签名是一致的,不支持方法的重载
  • 与数组区别:可变参数可以传入数组类型的数据或直接传入多个参数,数组类型作为参数只能传数组类型参数【还不能空传】
java"> public class Test {public static void main(String[] args) {//可变参数int[] num={1,2,3};add(num);add(1,2,3);}public static void add(int...nums) {int sum=0;for(int num:nums) {sum+=num;}System.out.println(sum);}}

 


http://www.ppmy.cn/embedded/59093.html

相关文章

go 函数

函数 在 go 中,函数是一等公民。 In programming language design, a first-class citizen (also type, object, entity, or value) in a given programming language is an entity which supports all the operations generally available to other entities. The…

php上传文件

$_FILES 作用&#xff1a;用来接收前端上传的文件&#xff0c;并且存储到服务器上。 前端 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, …

【vue】用vue实现拖拽/删除效果

这周接了个小外包&#xff0c;要求用vue实现如下图的拖拽效果 原理 mousedown监听鼠标按下&#xff0c;按下后开启mousemove mouseup监听器&#xff0c;并根据clientY offsetTop计算出元素新的top高度进行赋值&#xff0c;实现元素跟随。具体源码如下 <div title"d…

Git最常用操作速查表

Git常用操作 文章目录 Git常用操作1. 克隆/拉取2. 分支操作1. 查看分支2. 创建分支3. 切换到分支4. 删除分支5. 删除远程分支6. 推送分支到远程 3. 暂存库操作4. Git团队规范1. 原则2. 分支设计3. commit备注一般规范 1. 克隆/拉取 git clone xxx 从远程仓库克隆 git rebase…

Apache Dubbo与Nacos整合过程

Dubbo服务发现 Dubbo 提供的是一种 Client-Based 的服务发现机制&#xff0c;依赖第三方注册中心组件来协调服务发现过程&#xff0c;支持常用的注册中心如 Nacos、Consul、Zookeeper 等。 以下是 Dubbo 服务发现机制的基本工作原理图&#xff1a; 服务发现包含提供者、消费者…

mac ssh连接工具

在Mac上&#xff0c;有多个SSH连接工具可供选择&#xff0c;这些工具根据其功能和适用场景的不同&#xff0c;可以满足不同用户的需求。以下是一些推荐的SSH客户端软件&#xff1a;12 iTerm2&#xff1a;这是一款功能强大的终端应用程序&#xff0c;提供了丰富的功能和定制选项…

el-popover或el-popconfirm中button不展示问题

vue3在使用Element-plus 2.X时&#xff0c;出现el-popover或el-popconfirm中button不展示问题。 正常效果&#xff1a; 第一种错误原因&#xff1a;el-button没有添加 slotreference <template slot-scope"scope"><el-popconfirm title"您确定删除吗…

通过.NET6 创建的ASP.NET Core webapi项目中没有 Startup 类和ConfigureServices 方法

Startup.cs 作用就是&#xff0c;对项目中用到的 静态文件&#xff0c;管道&#xff0c;服务&#xff0c;日志&#xff0c;路由&#xff0c;数据库连接&#xff0c;过滤器的注册 等 所有的有关程序的启动运行中用到的 没有startup.cs可以手动新建一个Startup.cs类&#xff…