一、方法定义格式

修饰符 返回值类型 方法名称(参数类型 参数名称, ...){
方法体;
return 返回值;
} 1. 修饰符:现阶段固定写法,public static
2. 参数如果有多个,使用逗号进行分隔
3. return:(1)停止当前方法 (2)后面的结果数据返回值还给调用处
4. return后面的返回值,必须和方法名称前面的返回值类型,保持对应
public class Demo{
public static void main(String[] args){ }
public static int sum(int a, int b){
int result = a + b;
return result;
}
}

二、方法调用

public class Demo{
public static void main(String[] args){
// 单独调用
sum(10, 20);
// 打印调用
System.out.println(sum(10, 20));
// 赋值调用
int number = sum(15, 20);
}
public static int sum(int a, int b){
int result = a + b;
return result;
}
}

注意:返回值类型固定写为void,这种方法只能"单独调用",不能进行打印调用,或者赋值调用。对于无返回值的方法,只能使用单独调用。Java 中,大家对 void 应该是相当熟悉了。它表示“空”,所有无返回值的方法都使用它表示返回类型。

// 判断两数字是否相同
public class test {
public static void main(String[] args) {
System.out.println(compare(1, 2));
} public static boolean compare(int a, int b) {
boolean same;
if (a == b) {
same = true; } else {
same = false;
}
return same;
}
}
public class test {
public static void main(String[] args) {
System.out.println(compare(1, 2));
} public static boolean compare(int a, int b) {
return a == b;
}
}
public class test {
public static void main(String[] args) {
System.out.println(compare(1, 2));
} public static boolean compare(int a, int b) {
if (a == b) {
return true; } else {
return false;
}
}
}

三、方法重载

方法重载(overlord):多个方法的名称一样,但是参数列表不一样。
public class MethodDemo {
public static void main(String[] args) {
// 下面是针对求和方法的调用
int sum1 = add(1, 2);
int sum2 = add(1, 2, 3);
double sum3 = add(1.2, 2.3);
// 下面的代码是打印求和的结果
System.out.println("sum1=" + sum1);
System.out.println("sum2=" + sum2);
System.out.println("sum3=" + sum3);
} // 下面的方法实现了两个整数相加
public static int add(int x, int y) {
return x + y;
}
// 下面的方法实现了三个整数相加
public static int add(int x, int y, int z) {
return x + y + z;
}
// 下面的方法实现了两个小数相加
public static double add(double x, double y) {
return x + y;
}
}

上述代码中定义了三个同名的add()方法,它们的参数个数或类型不同,从而形成了方法的重载。在main()方法中调用add()方法时,通过传入不同的参数便可以确定调用哪个重载的方法。

注意事项:

  • 重载方法参数必须不同:

    • 参数个数不同,如method(int x)与method(int x,int y)不同

    • 参数类型不同,如method(int x)与method(double x)不同g

    • 参数顺序不同,如method(int x,double y)与method(double x,int y)不同

  • 重载只与方法名与参数类型相关与返回值无关

    • 如void method(int x)与int method(int y)不是方法重载,不能同时存在
  • 重载与具体的变量标识符无关

  • 如method(int x)与method(int y)不是方法重载,不能同时存在

6. java 方法的更多相关文章

  1. C++调用JAVA方法详解

    C++调用JAVA方法详解          博客分类: 本文主要参考http://tech.ccidnet.com/art/1081/20050413/237901_1.html 上的文章. C++ ...

  2. JNI中C调用Java方法

    背景需求 我们需要在JNI的C代码调用Java代码.实现原理:使用JNI提供的反射借口来反射得到Java方法,进行调用. JNI关键方法讲解. 1. 在同一个类中,调用其他方法 JNIEXPORT v ...

  3. Atitit java方法引用(Method References) 与c#委托与脚本语言js的函数指针

    Atitit java方法引用(Method References) 与c#委托与脚本语言js的函数指针   1.1. java方法引用(Method References) 与c#委托与脚本语言js ...

  4. C#调用Java方法(详细实例)

    C#可以直接引用C++的DLL和转换JAVA写好的程序.最近由于工作原因接触这方面比较多,根据实际需求,我们通过一个具体例子把一个JAVA方法转换成可以由C#直接调用的DLL C#调用c++ C#调用 ...

  5. Android C代码回调java方法

    本文将讲述下列三种C代码回调java方法 1.c代码回调java空方法 2.c代码回调java int类型参数方法 3.c代码回调javaString类型参数方法 方法都差不多,先看c代码回调java ...

  6. oracle调用java方法的例子(下面所有代码都是在sql/plus中写)

    在Oracle中调用Java程序,注意:java方法必须是static类型的,如果想在JAVA中使用system.out/err输出log. 需要在oracle 中执行"call dbms_ ...

  7. Js调用Java方法并互相传参

    Js通过PhoneGap调用Java方法并互相传参的. 一.JAVA代码 写一个类,该类继承自Plugin并重写execute方法. import org.json.JSONArray; import ...

  8. HAL中通过JNI调用java方法【转】

    转载请注明本文出处:http://www.cnblogs.com/xl19862005 作者:Xandy 由于工作的需要,最近一直在研究HAL.JNI.Java方法之间互调的问题,并做了如下一些记录和 ...

  9. wrong number of arguments,java方法反射时数组参数的坑

    java方法中只有一个参数是数组,反射的时候我们不能想当然的传歌数组进去,传数组进去的时候表示多个参数. 两个数组不是一个意思啊. 我们应该把数组转为objet,这样才表示一个参数. import j ...

  10. JAVA 方法或者类的注释快捷键

    JAVA 方法或者类的注释快捷键 /*** 登录验证* @param 传入的* @return* @throws Exception*/这种注释效果 方法: 1.先敲“/”在敲两个**,然后回车 方法 ...

随机推荐

  1. Class文件结构-属性表

    一.属性表整体结构 二.属性表具体结构

  2. [转]UIPath进阶教程-6. Architecture & Publishing flow

    本文转自:https://blog.csdn.net/liaohenchen/article/details/88847597 版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议, ...

  3. Python Exception处理

    Python中的错误处理分为两类:语法错误和异常处理.语法错误一般是指由于python语句.表达式.函数等存在书写格式活语法规则上的错误抛出的异常,如python常见的缩进控制,若同层次的执行语句存在 ...

  4. 三、VUE项目BaseCms系列文章:axios 的封装

    项目开发中 ajax 是不可缺少的,一个好的封装可以减少我们很多的重复代码,维护也更方便.在 vue 开发中我们用的比较多的就是 axios.下面代码是项目中用到的 axios 的封装. http.j ...

  5. gitlab忘记密码如何重置

    gitlab web登入密码忘记以后可以用如下方式修改密码shell>cd /home/git/gitlabshell> su gitshell>bundle exec rails ...

  6. CAS服务端数据源设置

    2.CAS服务端数据源设置 2.1需求分析 我们现在让用户名密码从我们的品优购的user表里做验证 2.2配置数据源 (1)修改cas服务端中web-inf下deployerConfigContext ...

  7. zhy2_rehat6_mysql02 - 5.7主从搭建.txt

    1.0------------锁库: mysql>FLUSH TABLES WITH READ LOCK; 这个命令是全局读锁定,执行了命令之后所有库所有表都被锁定只读.一般都是用在数据库联机备 ...

  8. Appium常用指令

    右键图片“在新标签页打开”可查看大图

  9. [PHP]关于连接MySQL的问题

    概述 PHP中无论使用MySQL函数抑或PDO连接MySQL服务器,都允许有两种方式,一是通过TCP网络层,一是通过unix socket: PHP并没有给出指明用何种方式去连接数据库,决定使用何种方 ...

  10. Spring Cloud Alibaba 实战(十一) - Spring Cloud认证授权

    欢迎关注全是干货的技术公众号:JavaEdge 本文主要内容: 如何实现用户认证与授权? 实现的三种方案,全部是通过画图的方式讲解.以及三种方案的对比 最后根据方案改造Gateway和扩展Feign ...