- 浏览: 88759 次
- 性别:
- 来自: 广州
最新评论
继续我们的简单教学。今天我们会说说JAVA的方法定义,以及怎么去调用方法。
首先我们创建一个新的类:MethodCall
在做今天的教学之前,先说明一下java定义方法的格式:
上面用了正则表达式的写法来说明Java方法的定义格式,()?表示括号里面的东西可能出现,也可能不出现,()*表示()里面的东西可能出现多个,也可能不需要出现。现在来说明一下几个()的内容:
以下是一些方法定义的例子:
以上三个方法都是正确的。在这里我要特别强调一下,方法名和参数名虽然理论上来说只要遵循默认的规则:“不能以数字开始,不能为特殊关键字,不能带特殊符号”这三大原则就可以过关,但是我强烈要求大家按照JAVA的编程标准来进行命名,规则如下:
标准化的编码可以提高代码的可读能力,一方面可以体现你的编码水平,另一方面当你把代码贴出来给别人看,以帮你解决问题的时候也可以提高效率。尽量让你的代码具有可读性是程序员必要的修养之一。
好了,说了这么多,我们现在可以开始在MethodCall里面定义我们的实验方法了:
这个方法接受一个字符串类型参数param1,并且直接把它显示出来。
现在我们尝试在main里面调用这个方法:
执行结果就是显示了"Hello World"。这个就是方法的调用例子。在这里,"Hello World"字符串会在其进入publicStaticMethod中之前被分派到param1这个参数里面去,到了publicStaticMethod里面,方法体就会通过这个param1来对外部的输入进行统一的操作处理,而不会管它内部的实际内容是什么。
简单来说就是照单全收,像这个例子就是我输入什么,它就执白的显示什么!
然后我们继续我们的实验,来改一下modifier为private,创建另一个方法,并且带有return类型为字符串的:
这时,你会发现Eclipse会指示这个方法出错:
那么我们现在加个返回值:
注意return这个关键字,表示该方法到这里就会返回return后面的内容。该内容只能为和返回类型相同的类型或者为null。如果是基础数据类型(如int,char等)就只能返回基础数据类型,不能返回null。这个我们后续再说。
这个方法简单地把两个字符串串接起来,并且会返回给调用行这个串接的结果。我们来看看它的作用:
执行之后,除了第一行的Hello World,还会有第2行的HelloJJ。
就说明两个方法都调用成功了。那么public和private又有什么作用呢?static和final又有什么作用呢?
今天就差不多了,我先卖个关子。明天我再在后续内容对这两组指示器进行说明吧。
首先我们创建一个新的类:MethodCall
在做今天的教学之前,先说明一下java定义方法的格式:
(modifier)? (static)? (final)? returnType methodName((ParamType param)*) { //method body }
上面用了正则表达式的写法来说明Java方法的定义格式,()?表示括号里面的东西可能出现,也可能不出现,()*表示()里面的东西可能出现多个,也可能不需要出现。现在来说明一下几个()的内容:
名称 | 可选值 | 描述 |
modifier | public/protected/private | 描述此方法可被访问的权限策略类型。 |
static | static | 静态方法描述关键字,表示此方法是否静态方法 |
final | final | 恒量方法描述关键字,表示此方法是否不允许被继承类重写 |
returnType | java类或void | 如果为Java的一个类,说明此方法会返回一个此类型的值或者可能为null(空对象),如果为void则说明此方法不会返回任何值 |
ParamType | java类 | 和returnType一样 |
param | 参数名 | 参数名供方法体内部调用时使用 |
以下是一些方法定义的例子:
public void method1() { //method body }
private final String method2(String param1) { //method body }
Object method3(Object param1,int param2) { //method body }
以上三个方法都是正确的。在这里我要特别强调一下,方法名和参数名虽然理论上来说只要遵循默认的规则:“不能以数字开始,不能为特殊关键字,不能带特殊符号”这三大原则就可以过关,但是我强烈要求大家按照JAVA的编程标准来进行命名,规则如下:
- 除了数字之外都使用英文命名,不要用拼音
- 除第一个英文单词外,每个英文单词首字母大写,如helloMrJack
- 如果英文太长,使用常用的所写进行简化,如organization可以所写为org
- 方法和参数名要有意义,容易猜测其意思,不要使用arg1,arg2之类的名字做变量
- 对方法和复杂的代码逻辑使用适量的注释加以说明
标准化的编码可以提高代码的可读能力,一方面可以体现你的编码水平,另一方面当你把代码贴出来给别人看,以帮你解决问题的时候也可以提高效率。尽量让你的代码具有可读性是程序员必要的修养之一。
好了,说了这么多,我们现在可以开始在MethodCall里面定义我们的实验方法了:
package hello; public class MethodCall { /** * @param args */ public static void main(String[] args) { } /** * 定义一个非静态共有方法 * @param param1 */ public void publicStaticMethod(String param1) { System.out.println(param1); } }
这个方法接受一个字符串类型参数param1,并且直接把它显示出来。
现在我们尝试在main里面调用这个方法:
/** * @param args */ public static void main(String[] args) { publicStaticMethod("Hello World"); }
执行结果就是显示了"Hello World"。这个就是方法的调用例子。在这里,"Hello World"字符串会在其进入publicStaticMethod中之前被分派到param1这个参数里面去,到了publicStaticMethod里面,方法体就会通过这个param1来对外部的输入进行统一的操作处理,而不会管它内部的实际内容是什么。
简单来说就是照单全收,像这个例子就是我输入什么,它就执白的显示什么!
然后我们继续我们的实验,来改一下modifier为private,创建另一个方法,并且带有return类型为字符串的:
private static String privateStaticMethodWithReturn(String param1,String param2) { }
这时,你会发现Eclipse会指示这个方法出错:
那么我们现在加个返回值:
private static String privateStaticMethodWithReturn(String param1,String param2) { return param1+param2; }
注意return这个关键字,表示该方法到这里就会返回return后面的内容。该内容只能为和返回类型相同的类型或者为null。如果是基础数据类型(如int,char等)就只能返回基础数据类型,不能返回null。这个我们后续再说。
这个方法简单地把两个字符串串接起来,并且会返回给调用行这个串接的结果。我们来看看它的作用:
public static void main(String[] args) { publicStaticMethod("Hello World"); System.out.println(privateStaticMethodWithReturn("Hello","JJ")); }
执行之后,除了第一行的Hello World,还会有第2行的HelloJJ。
就说明两个方法都调用成功了。那么public和private又有什么作用呢?static和final又有什么作用呢?
今天就差不多了,我先卖个关子。明天我再在后续内容对这两组指示器进行说明吧。
发表评论
文章已被作者锁定,不允许评论。
-
JAVA简单教程:数据库操作(三)——PreparedStatement和动态SQL
2010-03-12 12:30 8688如果我们的SQL语句是固 ... -
JAVA简单教程:数据库操作(二)
2010-03-10 11:09 2168今天来分析一下上次的 ... -
JAVA简单教程:数据库操作(一)
2010-03-05 16:40 1902最近依然是事情太多,一直无法坚持每天写份blog,对不起大家。 ... -
每天JAVA简单教学:枚举类
2010-02-02 14:41 1547今天给大家介绍一个JDK1.5的新特性:枚举类 先来看看以下 ... -
每天JAVA简单教学:类定义,成员类,抽象类及接口类
2010-01-27 11:58 1602最近忙得快疯掉了,而且着凉了病得好辛苦。。。不过今天还是能抓紧 ... -
每天JAVA简单教学:类型强转
2010-01-19 11:56 7612关于类型,我们说了不 ... -
每天JAVA简单教学:简单数据类型、地址比较和值比较
2010-01-18 11:48 2303昨天说了布朗运算,今天详细解释一下其中的==运算符和Objec ... -
每天JAVA简单教学:布朗运算
2010-01-15 14:46 2277布朗值,就是true和false,对于产生这两个值的运算,就是 ... -
每天JAVA简单教学:基本运算符
2010-01-13 18:09 1089今天来介绍一些基础运算符,先用int整数类型做介绍,最后用St ... -
每天简单JAVA教学:循环语法(二)
2010-01-07 10:07 1507自从JRE升级到1.5以后,java的for循环就更加方便了。 ... -
每天简单JAVA教学:循环语法(一)
2010-01-06 13:32 2085现在开始介绍跟变成有密切关系的Java语法,首先来介绍循环的写 ... -
每天简单JAVA教学:super和this
2010-01-05 11:49 1577因为实在太忙这么多天来都没时间上来写东西,感觉非常对不起大家。 ... -
每天简单JAVA教学:变量
2009-12-28 16:02 1259很抱歉,最近事忙,所以很少有时间上来写东西,希望大家见谅。 ... -
每天简单JAVA教学:类继承,重写、重构及重载,final的用法
2009-12-23 12:25 4023昨天事忙,所以没时间给大家写blog,抱歉一下。 今天说的内 ... -
每天简单JAVA教学:JVM的内存管理,static的用法
2009-12-21 14:41 2606今天的主题是介绍static和final这两个指示器的用法。但 ... -
每天简单JAVA教学:Modifier
2009-12-18 10:31 9561昨天给大家介绍了怎么进行同一个类里面的方法调用,今天将会给大家 ... -
每天简单JAVA教学:第一个main程序分析
2009-12-16 23:12 1582上次我们轻松地完成了H ... -
每天简单JAVA教学:Hello World!
2009-12-16 00:39 1546以下文章只适合新手,新是很新很新的新。。。。自认对编程和JAV ...
相关推荐
### 达内Java教程:方法调用 在Java编程中,方法是实现特定功能的一段代码,通过调用这些方法可以有效地复用代码并提高程序的可读性和可维护性。达内教育作为国内知名的IT培训机构,其Java教程中详细介绍了如何在...
这个压缩包中的内容可能包含了一系列使用JavaParser进行代码分析的示例或工具,特别是关于方法调用链的分析。这种方法调用链分析在软件工程中具有重要的应用价值,比如代码审查、性能优化、依赖关系理解以及重构等。...
57.java带参数方法调用.zip57.java带参数方法调用.zip57.java带参数方法调用.zip57.java带参数方法调用.zip57.java带参数方法调用.zip57.java带参数方法调用.zip57.java带参数方法调用.zip57.java带参数方法调用.zip...
标题中的“Groovy和Java相互调用1”指的是在编程时如何在Groovy语言环境中调用Java类,以及反之,如何在Java程序中调用Groovy类。这是一种跨语言交互的方式,特别是在混合使用Groovy和Java的项目中非常常见。 ...
### Java远程方法调用(RMI):深入解析与实践 #### 一、RMI概念与原理 Java远程方法调用(Remote Method Invocation,简称RMI)是Java平台提供的一种分布式计算模型,允许一个Java虚拟机(JVM)上的对象通过网络...
在定义方法时,一个方法内不能再定义另一个方法,即不能嵌套定义,但是在调用一个方法的过程中,还可以调用另一个方法,这是方法的嵌套调用。 方法的嵌套调用 假设main方法中调用a方法,a 方法中调用b方法,具体流程...
### Java方法调用详解 #### 一、方法调用概览 在Java编程语言中,方法(也称为函数)是程序的基本构建块之一,用于封装特定功能以便在需要时重复使用。方法调用是实现这一功能的关键步骤。通过调用方法,我们可以...
Java动态调用方法是Java反射机制的一个重要应用,它允许我们在程序运行时,根据需要动态地获取类的信息并调用其方法。这种能力为代码的灵活性和可扩展性提供了强大的支持,尤其在处理不确定的对象类型或者需要在运行...
首先,我们来看标题中的关键点:“JAVA调用第三方DLL的简单方法”。在Java中,由于其跨平台的特性,原生与操作系统交互并不直接,而JNA提供了一种桥接机制,使得Java可以直接调用Windows、Linux等操作系统中的DLL...
#### 第一种方法:Java利用JNA进行调用 **背景介绍:** 为了实现Java与C#之间的交互,一种常用的方式是通过调用C#封装的DLL文件来完成特定功能。这种方法涉及到.NET Framework与Java平台之间的互操作性问题。其中一...
描述中提到,这是一个利用Jacob库的示例程序,展示了如何从Java中调用C# DLL的简单方案。这意味着该示例可能包含了Java代码片段,这些代码会加载并调用C# DLL中的特定函数或方法,为开发者提供了一个可参考的模板。 ...
对于简单且不频繁的调用,JavaBridge和PECL扩展可能是较好的选择;对于复杂的企业级应用,可能需要考虑Web服务或者JNI以实现更高的性能和灵活性。 在压缩包“jphp调用JAVA”中,可能包含了一些示例代码或教程,帮助...
7. **Java 8及以上的日期时间API**:Java 8引入了`java.time`包,提供了更现代且易于使用的日期时间API,如`LocalDate`, `MonthDay`等。虽然这里可能是基于旧版API的项目,但了解新API也是有益的。 8. **测试**:...
6. **传递参数和接收结果**:在Delphi中,你可以使用上述函数,传入Java接口名、方法名以及参数,调用Java方法并获取返回值。 ```delphi const ClassName = 'com/example/MyJavaClass'; MethodName = '...
Java反射是Java语言提供的一种强大的动态类型特性,它允许程序在运行时检查和操作类、接口、对象等的内部信息,包括但不限于获取类的方法、字段、构造器等,并能动态调用方法和修改字段值。这个特性使得Java具有了更...
3. **调用Java方法**:使用`CallStaticVoidMethod`或`CallVoidMethod`等函数,根据方法是否为静态,以及传入的参数类型,调用Java方法。 4. **处理结果**:根据Java方法的返回值,易语言程序可以进行相应的操作。 ...
本篇文章将详细探讨如何在C#中调用Java方法,以及与之相关的技术,包括IKVM.NET。我们将通过提供的资源,即“UseJAVA.rar”和“JAVADemo.rar”,来了解具体的实现过程。 首先,让我们理解C#调用Java方法的基本原理...
Java远程调用(Remote Method Invocation,RMI)是Java平台中一种重要的分布式计算技术,它允许在不同网络环境中的Java对象之间进行透明的交互。在本文中,我们将深入探讨三种不同的RMI实现方法:原始方式、Spring...
- **安全性**:Java的安全模型确保了RMI应用的安全性。 - **高性能**:RMI利用了高效的网络通信协议,如TCP/IP,提高了性能。 #### 四、RMI的应用案例 为了更好地理解RMI的工作原理,可以通过一个简单的示例来进行...
5. 打包Java类:将需要调用的Java类打包成jar文件,并放置到特定路径下(如`/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/ext`)。 6. PHP脚本中调用:在PHP脚本中包含Java.inc...