第一周java。2

方法的作用

将重复的代码包装起来,写成方法,提高代码的复用性。

方法的语法

方法的语法格式如下 :

 [修饰符] 方法返回值类型 方法名(形参列表) 
{  
      //由零条到多条可执行性语句组成的方法体
      return 返回值;
}

定义方法语法格式的详细说明如下:

修饰符:修饰符可以省略,也可以是 public 、 protected 、 private 、 static 、 final 、 abstract ,其中 public 、 protected 、 private 三个最多只能出现其中之一 ; final 和 abstract 最多只能出现其中之一 ,它们可以 与 static 组合起来修饰方法。

方法返回值类型:返回值类型可以是 Java 语言 允许的任何数据类型,包括基本类型和引用类型: 如果声明了方法返回值类型,则方法体内必须有一个有效的 return语句,该语句返回 一个变量或一个表达式,这个变量或者表达式的类型必须与此处声明的类型匹配.除此之外 , 如果一个方法没有返回值,则必须使用 void 来声明没有返回值 .

方法名:方法名的命名规则与成员变量 的命名规则基本相同,但由于方法用于描述该类或该类 的实例的行为特征或功能实现,因此通常建议方法名以英文动词开头 .

形参列表:形参列表用于定义该方法可以接受的参数,形参列表由零组到多组"参数类型形参 名"组合而成 ,多组参数之间以英文逗号 ( ,)隔开,形参类型和形参名之间以英文空格隔开。 一旦在定义方法时指定了形参列表,则调用该方法时必须传入对应的参数值即谁调用方法, 谁负责为形参赋值 。

方法体里多条可执行性语句之间有严格的执行顺序,排在方法体前面的语句方法体里多条可执行性语句之间有严格的执行顺序,排在方法体前面的语句总是先执行,排在方法体后面的语句总是后执行。

方法的归属

需要定义方法,则只能在类体内定义,不能独立定义一个方法。一旦将一个方法定义在 某个类的类体内,如果这个方法使用了 static 修饰,则这个方法属于这个类,否则这个方法属于这个类的实例 。 Java 语言是静态的 。一个类定义完成后,只要不再重新编译这个类文件,该类和该类的对象所拥有的方法是固定的,永远都不会改变 。 因为 Java 里的方法不能独立存在,它必须属于一个类或一个对象,因此方法也不能像函数那样被独立执行。

方法的传参

声明方法时包含了形参声明,则调用方法时必须给这些形参指定参数值 , 调用方法时实际传给形参的参数值被称为实参.那么,Java 的实参值是如何传入方法的呢?

这是由 Java 方法的参数传递机制来控制的, Java 里方法的参数传递方式只有一种 : 值传递。 所谓值传递,就是将实际参数值传入方法内 , 而参数本身不会受到任何影响。

public class Prim
{
public static void swap (int a , int b) 
{
// 下面三行代码实现a,b变量的值交换
// 定义一个临时变量来保存a变量的值
int tmp = a; 
//把b的值赋给 a
a= b; 
// 把临时变量 tmp 的值赋给 a
b= tmp ; 
System.out.println("swap 方法里, a 的值是 "
+ a + ":b 的值是 " + b); 
}
public static void main(String[] args) 
{
  int a = 6 ; 
  int b = 9; 
  swap(a , b) ; 
System.out.println ("交换结束后,变量a的值是"
+a+":变量 b 的值是 " + b); 
}
}

方法的重载

Java 允许同一个类里定义多个同名方法,只要形参列表不同就行。如果同一个类中包含了两个或两 个以上方法的方法名相同,但形参列表不同,则被称为方法重载 。

方法重载的要求就是两同一不同 :同 一个类中方法名相同,参数列表不同 。至于方法的其他部分,与方法的重载没有任何关系。

public class Over1oad 
{
//下面定义了两个test ()方法,但方法的形参列表不同
//系统可以区分这两个方法,这被称为方法重载
public void test() 
{
 System.out.println("无参数");
}
public void test(String msg) 
{
 System.out.print1n("重载的test方法"+msg);
 }
pub1ic static void main(String[] args)
{
  Over1oad 01 = new Over1oad( ); 
//调用 test ()时没有传入参数,因此系统调用上面没有参数的 test () 方法
  01.test () ; 
//调用 test ()时传入了一个字符串参数
//因此系统调用上面带一个字符串参数的 test ()方法
01.test( "he11o " ) ; 
}
}
相关推荐
Eric.Lee2021几秒前
moviepy将图片序列制作成视频并加载字幕 - python 实现
开发语言·python·音视频·moviepy·字幕视频合成·图像制作为视频
Ttang231 分钟前
Tomcat原理(6)——tomcat完整实现
java·tomcat
Dontla5 分钟前
vscode怎么设置anaconda python解释器(anaconda解释器、vscode解释器)
ide·vscode·python
钱多多_qdd12 分钟前
spring cache源码解析(四)——从@EnableCaching开始来阅读源码
java·spring boot·spring
waicsdn_haha14 分钟前
Java/JDK下载、安装及环境配置超详细教程【Windows10、macOS和Linux图文详解】
java·运维·服务器·开发语言·windows·后端·jdk
web1478621072318 分钟前
C# .Net Web 路由相关配置
前端·c#·.net
m0_7482478019 分钟前
Flutter Intl包使用指南:实现国际化和本地化
前端·javascript·flutter
飞的肖22 分钟前
前端使用 Element Plus架构vue3.0实现图片拖拉拽,后等比压缩,上传到Spring Boot后端
前端·spring boot·架构
Q_192849990624 分钟前
基于Spring Boot的摄影器材租赁回收系统
java·spring boot·后端
Code_流苏27 分钟前
VSCode搭建Java开发环境 2024保姆级安装教程(Java环境搭建+VSCode安装+运行测试+背景图设置)
java·ide·vscode·搭建·java开发环境