Java 中的方法(在许多其他编程语言中称为“函数”)是被组合在一起并标记为可重用的一块代码。方法很有用,因为它们允许你在不重写相同代码的情况下,执行相同的操作或一系列操作,这不仅意味着你的工作量减少,还意味着出现问题时需要维护和调试的代码减少。
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的鄂尔多斯网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
方法存在于类中,因此标准 Java 样板代码适用:
package com.opensource.example;public class Example { // 在此写代码}
在这样一个简单的单文件应用程序中,包定义并不是绝对必要的,但它是一个很好的习惯,而且大多数 IDE 都强制执行它。
默认情况下,Java 会寻找在类中运行的 main
方法。方法可以是公有的或私有的,也可以是静态的或非静态的,但 main
方法必须是公有的、静态的,Java 编译器才能识别和使用它。当方法是公有的时,它可以从类外部执行。要在程序启动时调用 Example
类,其 main
方法必须是可访问的,因此将其设置为 public
。
下面是两个方法的简单演示:一个 main
方法在调用 Example
类时默认执行,另一个 report
方法接受 main
的输入并执行简单操作。
为了模拟任意数据输入,我使用了 if
-then
语句,该语句根据你启动应用程序的时间在两个字符串之间进行选择。换句话说,main
方法首先设置一些数据(在现实生活中,这些数据可以来自用户输入,也可以来自应用程序其他地方的其他方法),然后 “调用” report
方法,将处理后的数据作为输入提供:
package com.opensource.example;public class Example { public static void main(String[] args) { // 生成一些数据 long myTime = System.currentTimeMillis(); String weather; if ( myTime%2 == 0 ) { weather = "party"; } else { weather = "apocalypse"; } // 调用其他方法 report(weather); } private static void report(String day) { System.out.printf("Welcome to the zombie %s\n", day); }}
运行代码:
$ java ./Example.javaWelcome to the zombie apocalypse$ java ./Example.javaWelcome to the zombie party
请注意,同一 report
方法有两个不同的结果。当然,在这个简单的演示中,不需要第二种方法。模拟数据生成的 if
-then
语句可能生成了相同的结果。但是,当一个方法执行一项复杂的任务时,比如将图像调整为缩略图,然后使用调整后的图像在屏幕上生成小部件,那么附加组件的“费用”就很有意义了。
很难知道何时使用方法,何时只将数据发送到 Java 流 或循环中。如果你面临这个决定,答案通常是使用一种方法。原因如下:
resizeImage
的方法通常比查找隐藏在从驱动器加载图像的函数中某个循环中的代码更容易。函数式编程利用方法作为执行任务的主要构造。创建一个方法,该方法接受一种数据,处理该数据,并输出新数据。将许多方法串在一起,你就拥有了一个动态且功能强大的应用程序。像 C 和 Lua 这样的编程语言就是这种编码风格的例子。
用代码完成任务的另一种方式是 Java 使用的面向对象模型。在面向对象编程中,方法是模板的组成部分。你可以创建对象,而不是将数据从一个方法发送到另一个方法,并可以通过使用它们的方法来更改它们。
从面向对象的角度来看,这是一个简单的 “僵尸末日” 演示程序。在函数方法中,我使用一种方法生成数据,另一种方法使用该数据执行操作。面向对象的等价物是具有表示工作单元的类。这个示例应用程序向用户显示一条当天的消息,宣布这一天会有僵尸派对或是僵尸末日。编写一个“天”对象,然后查询该对象以了解其特性是有意义的。作为演示面向对象构造的不同方面的借口,新的示例应用程序还将统计有多少僵尸出现在派对上(或末日)。
Java 为每个类使用一个文件,因此要创建的第一个文件是 Day.Java
,它用作 Day
对象:
package com.opensource.example;import java.util.Random;// 类public class Day { public static String weather; public int count;// 构造方法 public Day() { long myTime = System.currentTimeMillis(); if ( myTime%2 == 0 ) { weather = "paradise"; } else { weather = "apocalypse"; } }// 方法 public String report() { return weather; } public int counter() { Random rand = new Random(); count = count + rand.nextInt(100); return(count); }}
在“类”部分中,创建了两个域:天象 weather
和计数 count
。weather
是静态的。在一天的过程中(在这种假想的情况下),weather
不会改变。要么是派对 paradise
,要么是末日 apocalypse
,持续了一整天。然而,僵尸的数量在一天中会增加。
在“构造方法”部分,确定当天的天象。它是作为一个 构造方法 完成的,因为它只在类最初被调用时发生一次。
在“方法”部分,report
方法只返回由构造方法确定和设置的天象报告。然而,counter
方法生成一个随机数,并将其添加到当前僵尸计数中。
换句话说,这个类做了三件不同的事情:
要使用这所有,请创建第二个文件:
package com.opensource.example;public class Example { public static void main(String[] args) { Day myDay = new Day(); String foo = myDay.report(); String bar = myDay.report(); System.out.printf("Welcome to a zombie %s\n", foo); System.out.printf("Welcome to a zombie %s\n", bar); System.out.printf("There are %d zombies out today.\n", myDay.counter()); System.out.printf("UPDATE: %d zombies. ", myDay.counter()); System.out.printf("UPDATE: %d zombies. ", myDay.counter()); }}
因为现在有两个文件,所以使用 Java IDE 运行代码是最简单的,但是如果不想使用 IDE,可以创建自己的 JAR 文件。运行代码以查看结果:
Welcome to a zombie apocalypseWelcome to a zombie apocalypseThere are 35 zombies out today.UPDATE: 67 zombies. UPDATE: 149 zombies.
无论调用 report
方法多少次,weather
都保持不变,但调用 counter
方法的次数越多,僵尸的数量就会增加。
方法(或函数)是编程中的重要组成。在 Java 中,你可以将它们作为函数式编程的单个类的一部分使用,也可以在面向对象编程的类之间使用它们。两种类型的编程对于解决同一个问题有不同的视角,因此没有对与错之分。通过反复尝试,积累一点经验,你会知道哪一个最适合某个特定的问题。
当前文章:如何在Java中使用方法
文章URL:http://www.mswzjz.cn/qtweb/news7/6857.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能