方法的使用

1.什么是方法(method)

在java中方法就是一个代码片段.。几乎相当于c语言的函数。

2.方法定义

方法跟函数是几乎一样的。所以语法是大差不差的。就多了一点东西。之前我们在c语言里已经很详细讲过了函数。这里就简便的讲一下。

相比c语言函数多了个修饰符 。

现在看下其注意事项:

 1. 修饰符:现阶段直接使用public static 固定搭配

2. 返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写成 void。而且返回一个值所有情况都要考虑,否则会报错。

3. 方法名字:采用小驼峰命名

4. 参数列表:如果方法没有参数,()中什么都不写,如果有参数,需指定参数类型,多个参数之间使用逗号隔开

5. 方法体:方法内部要执行的语句

6. 在java当中,方法必须写在类当中

7. 在java当中,方法不能嵌套定义

8. 在java当中,没有方法声明一说,而在c语言是有函数声明的。这是因为c语言编译是自上而下,而java编译是全局的

9.跟c语言一样,在Java中main方法也作为程序的入口从而运行,其有且只能有一个,如果缺少main方法则不能运行该程序。之后随着学习更多的知识会对其有更清晰的认识,现在对其的认知还是太模糊了。 比如我们不清楚是一个类中只能有一个main函数还是一个文件中只能有一个main函数。

3. 方法调用

这个很简单直接看文案吧。

4.方法中实参和形参的关系 

跟c语言一样,也有传值调用和传址调用。

传值调用

太简单了直接看文案

 

传值调用不影响函数外部的值,如果要影响,则要传址调用

传址调用 

在c语言里传址调用是用了指针,而在java中没有指针这种语法,所以java需要用到其他东西。 而这些东西我们现在还没学,所以等到学习数组再详细解释吧。

 5.没有返回值的方法

很简单,直接看文案吧。 

6.方法的重载 

在Java中,如果多个方法的名字相同,参数列表不同,则称该几种方法被重载了。 

public class TestMethod {
 public static void main(String[] args) {
 add(1, 2);                // 调用add(int, int)
 add(1.5, 2.5);            // 调用add(double, double)
 add(1.5, 2.5, 3.5);       // 调用add(double, double, double)
 }
 
 public static int add(int x, int y) {
 return x + y;
}
 
 public static double add(double x, double y) {
 return x + y;
 }
 
 public static double add(double x, double y, double z) {
 return x + y + z;
 }
}

方法的重载注意事项:

1. 方法名必须相同

2. 参数列表必须不同(参数的个数不同、参数的类型不同、类型的次序不同,其中有一个不同参数列表就不同了)

3. 与返回值类型是否相同无关

// 注意:两个方法如果仅仅只是因为返回值类型不同,是不能构成重载的,下面就是个很好的例子

如果发生了方法的重载,编译器在编译代码时,会对实参类型进行推演,根据推演的结果来确定调用哪个方法。

7.方法签名 

在同一个作用域中不能定义两个相同名称的变量。那为什么类中就可以定义方法名相同的方法呢?

这里就要说到方法签名了。

方法签名即:经过编译器编译修改过之后方法最终的名字。具体方式:方法全路径名+参数列表+返回值类型,构成方法完整的名字即方法签名。(这才是方法真的名字)

下面给大家看下文案吧,方法签名这个知识点知道就好,不需要过度讲述。

8.递归 

递归在c语言里就学过了,在java中递归跟c语言的是完全一样的,所以我们就复习一下,看个文案就行了。

这里就说一个重点:递归不能没有起始条件,否则会死循环运行,从而一直产生栈帧,导致栈溢出,程序崩溃

  • 21
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值