Java(十四)方法

简介: Java(十四)方法

Java中的方法,在PHP中被称为函数(是不是官方叫法我不知道,反正我一直是这么叫的)

但是在java中定义方法和PHP以及javascript中是很不同的。

 

Java是强语法类型语言,因此,方法必须有明确类型的返回值。以及明确的参数列表。

 

其实方法这个东西早在我们测试循环的时候就已经使用过了,当时为了不把代码写到一起,都是将每部分的代码分开写到单独的方法中的。详情请移步《Java(十二)循环》只是这里的方法都是没有返回值的。

 

一:方法的定义


今天的测试我就不再照搬循环中的例子了。没有太大的意义,我们判断数字的大小。这个好。


定义一个方法,有两个参数,分别为i,j,返回值为二者之间较大的数字,若二者相等,返回-1。


/**
     * 比较两个函数大小
     * @param i
     * @param j
     * @return
     */
    public static int reduct(int i,int j)
    {
        if(i == j)
        {
            return -1;
        }
        if(i > j)
        {
            return i;
        }
        else
        {
            return j;
        }
}
    /**
     * 比较两个函数大小
     * @param i
     * @param j
     * @return
     */
    public int reduct(int i,int j)
    {
        if(i == j)
        {
            return -1;
        }
        if(i > j)
        {
            return i;
        }
        else
        {
            return j;
        }
    }

 

上边我定义了两个方法,区别在一个方法有static,一个方法没有static,这就需要先说一下关键字static,他关系到了一会我们如何去调用这个方法,有定义方法中有static,直接调用即可,定义方法中没有static,则需要实例化这个类(new)之后才可以调用。暂时了解即可,后边会陆续看到。

 

我们调用的时候使用有static的方法进行测试。

 

方法定义好了,我们接下来去调用它,我们大概有三种调用方法。


1:单独调用:方法名(参数)

注意,如果方法的返回值为void的时候,只能使用单独调用

 

2:输出调用:System.out.print(方法名(参数))

注意,如果方法的返回值为void的时候,不能使用输出调用

 

3:赋值调用:数据类型 变量名 = 方法名(参数)

注意,赋值调用只适用于有返回值的方法


public class T04 {
    public static void main(String[] args) {
        // 单独调用
        reduct(5,2);
        // 输出调用
        System.out.println(reduct(5,2));
        // 赋值调用
        int result = reduct(5,2);
        System.out.println(result);
    }
    /**
     * 比较两个函数大小
     * @param i
     * @param j
     * @return
     */
    public static int reduct(int i,int j)
    {
        if(i == j)
        {
            return -1;
        }
        if(i > j)
        {
            return i;
        }
        else
        {
            return j;
        }
    }
}


调用输出:

5

5

 

上边我们测试了有返回值的方法,下边我们测试一下,没有返回值的方法。将上方的代码改造一下:


public class T04 {
    public static void main(String[] args) {
        // 单独调用
        reduct(5,2);
    }
    /**
     * 比较两个函数大小
     * @param i
     * @param j
     * @return
     */
    public static void reduct(int i,int j)
    {
        if(i == j)
        {
            System.out.println(-1);
        }
        if(i > j)
        {
            System.out.println(i);
        }
        else
        {
            System.out.println(j);
        }
    }
}

输出:

5

 

方法的返回值有很多种类型,比如:int,char,long,数组,void等。这里就不一一做展示了

 

二:方法的注意事项


在定义方法的时候有几个点需要注意下:


1:方法不能嵌套定义(方法与方法是平级关系)


2:void表示无返回值,可以省略return ,也可以单独的书写return ;,后面不加数据


3:返回值不是void的时候,必须有return值,否则会编译报错

 

三:方法的重载(overload)


方法的重载:指在同一个类中,出现两个方法的名字相同,参数列表不同的两个方法,就称之为方法的重载。


这个玩意就很有意思,先说我熟悉的PHP,PHP中是没有类似java的重载功能的,它在定义函数的时候,可以给函数的参数赋默认值


public static function doCurl($url, $method = 'GET', $data = null)
    {
        curl_close($ch);
        return $output;
    }


第二个参数和第三个参数都是有默认值的,因此,我们只需要传递第一个参数方法即可正常调用。


Java是通过重载来实现PHP类似的功能的。


举个例子:


public class T04 {
    public static void main(String[] args) {
        int two = sumNunber(5,2);
        System.out.println(two);
        int three = sumNunber(5,2,6);
        System.out.println(three);
    }
    /**
     * 加和(三个参数)
     * @param i
     * @param j
     * @return
     */
    public static int sumNunber(int i,int j,int x)
    {
        return i + j + x;
    }
    /**
     * 加和(两个参数)
     * @param i
     * @param j
     * @return
     */
    public static int sumNunber(int i,int j)
    {
        return i + j;
    }
}


运行代码,输出:

7

13

 

以上大概就是java中方法的基本使用

 

有好的建议,请在下方输入你的评论。


目录
相关文章
|
25天前
|
消息中间件 Java Kafka
在Java中实现分布式事务的常用框架和方法
总之,选择合适的分布式事务框架和方法需要综合考虑业务需求、性能、复杂度等因素。不同的框架和方法都有其特点和适用场景,需要根据具体情况进行评估和选择。同时,随着技术的不断发展,分布式事务的解决方案也在不断更新和完善,以更好地满足业务的需求。你还可以进一步深入研究和了解这些框架和方法,以便在实际应用中更好地实现分布式事务管理。
|
1月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
68 9
|
23天前
|
安全 Java 开发者
Java中WAIT和NOTIFY方法必须在同步块中调用的原因
在Java多线程编程中,`wait()`和`notify()`方法是实现线程间协作的关键。这两个方法必须在同步块或同步方法中调用,这一要求背后有着深刻的原因。本文将深入探讨为什么`wait()`和`notify()`方法必须在同步块中调用,以及这一机制如何确保线程安全和避免死锁。
37 4
|
23天前
|
Java
深入探讨Java中的中断机制:INTERRUPTED和ISINTERRUPTED方法详解
在Java多线程编程中,中断机制是协调线程行为的重要手段。了解和正确使用中断机制对于编写高效、可靠的并发程序至关重要。本文将深入探讨Java中的`Thread.interrupted()`和`Thread.isInterrupted()`方法的区别及其应用场景。
24 4
|
21天前
|
Java 数据处理 数据安全/隐私保护
Java处理数据接口方法
Java处理数据接口方法
24 1
|
2月前
|
Java API
Java 对象释放与 finalize 方法
关于 Java 对象释放的疑惑解答,以及 finalize 方法的相关知识。
50 17
|
1月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
114 4
|
1月前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
159 2
|
2月前
|
Java 开发者
在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口
【10月更文挑战第20天】在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口。本文揭示了这两种方式的微妙差异和潜在陷阱,帮助你更好地理解和选择适合项目需求的线程创建方式。
27 3
|
2月前
|
Java 大数据 API
别死脑筋,赶紧学起来!Java之Steam() API 常用方法使用,让开发简单起来!
分享Java Stream API的常用方法,让开发更简单。涵盖filter、map、sorted等操作,提高代码效率与可读性。关注公众号,了解更多技术内容。