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

第一周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 " ) ; 
}
}

http://www.lryc.cn/news/391072.html

相关文章:

  • Arduino - Keypad 键盘
  • 国产芯片方案/蓝牙咖啡电子秤方案研发
  • reactjs18 中使用@reduxjs/toolkit同步异步数据的使用
  • 剧本杀小程序:助力商家发展,提高游戏体验
  • pikachu靶场 利用Rce上传一句话木马案例(工具:中国蚁剑)
  • CenterOS7安装java
  • react 重新加载子组件
  • 从零开始使用WordPress搭建个人网站并一键发布公网详细教程
  • 浅谈chrome引擎
  • 【常用知识点-Java】创建文件夹
  • 【JavaScript脚本宇宙】颜色处理神器大比拼:哪款JavaScript库最适合你?
  • 怎么录制电脑内部声音?好用的录音软件分享,看这篇就够了!
  • ios CCNSDate.m
  • Windows系统安装SSH服务结合内网穿透配置公网地址远程ssh连接
  • 虚拟机与主机的联通
  • 2024年中国网络安全市场全景图 -百度下载
  • Linux脚本自动安装 docker
  • 【计算智能】遗传算法(一):基本遗传算法(SGA)理论简介
  • win10系统让当前用户拥有管理员权限
  • Redis持久化的三种方式(RDB、AOF和混合)
  • Telnet发送get/post请求
  • PostgreSQL匹配字符串方法
  • Docker镜像加速配置
  • 【elementui】记录解决el-tree开启show-checkbox后,勾选一个叶结点后会自动折叠的现象
  • 用Vue3和Plotly.js绘制交互式3D烛形图
  • git上传文件
  • Redis 7.x 系列【16】持久化机制之 AOF
  • 使用 PostGIS 生成矢量图块
  • WebSocket 心跳机制如何实现
  • Docker 容器连接