更新时间:2022-04-08 10:38:42 来源:极悦 浏览1338次
在Java中,方法是执行特定任务或操作的语句的集合。它被广泛使用,因为它提供了代码的可重用性,意味着一次编写并多次使用。它还提供了简单的修改。每个方法都有自己的名称,通过它被调用。当编译器读取方法名称时,调用该方法并执行指定的任务。在本节中,极悦小编将告诉大家如何在 Java中调用预定义、用户定义、静态和Java抽象方法。
在Java中,静态方法是在不创建定义该方法的类的对象的情况下调用或调用的方法。所有在方法名前带有 static 关键字的方法都称为静态方法。我们还可以通过在方法名称前使用static关键字来创建静态方法。我们可以使用ClassName.methodName调用静态方法。
静态方法的最佳示例是main()方法。它在不创建对象的情况下被调用。
静态方法调用示例
导入 java.util.*;
公共类 StaticMethodCallExample
{
公共静态无效 主(字符串参数 [])
{
诠释 一个;
//调用数学类的静态方法
a=数学.min( 23 , 98 );
System.out.println( "最小数为:" + a);
}
}
输出:
最少人数为 23
在 Java 中,预定义方法是已在类中定义的方法。当我们需要任何预定义的方法时,我们只需按其名称调用该方法。
在下面的示例中,我们使用了Object类的名为hashCode()的方法。为了调用预定义的方法hashCode(),我们创建了 Object 类的对象obj,因为它是 Object 类的方法。通过使用该对象,我们调用了hashCode()方法,该方法返回该对象的哈希码值。
PredefinedMethodCallExample.java
公共类 PredefinedMethodCallExample
{
公共静态无效 主要(字符串 [] 参数)
{
诠释 一个;
对象 obj=新 对象();
a=obj.hashCode();
System.out.println( "对象的哈希码为:" +a);
}
}
输出:
对象的哈希码为:2036368507
要调用用户定义的方法,首先,我们创建一个方法,然后调用它。必须在类中创建一个方法,方法名后跟括号()。方法定义由方法头和方法体组成。
我们可以通过以下方式调用方法:
方法名(); //非静态方法调用
如果方法是静态方法,我们使用如下:
obj.method_name(); //静态方法调用
其中 obj 是类的对象。
在以下示例中,我们创建了两个名为showMessage()和displayMessage()的用户定义方法。showMessage ()方法是静态方法,而displayMessage()方法是非静态方法。
请注意,我们直接调用了showMessage()方法,没有使用对象。而displayMessage()方法是使用类的对象调用的。
MethodCallExample.java
公共类 MethodCallExample
{
//用户定义的静态方法
静态无效 显示消息()
{
System.out.println( "调用的静态方法。" );
}
//用户定义的非静态方法
无效 的显示消息()
{
System.out.println( "调用了非静态方法。" );
}
公共静态无效 主要(字符串 [] 参数)
{
//调用静态方法而不使用对象
显示消息(); //调用方法
//创建一个类的对象
MethodCallExample me= new MethodCallExample();
//调用非静态方法
me.displayMessage(); //调用方法
}
}
输出:
调用的静态方法。
调用了非静态方法。
一个类可以包含两个或多个同名的方法。现在出现了一个问题,我们如何调用具有相同名称的两个方法。
当一个类有两个或多个同名方法时,它由返回类型或参数类型或参数数量来区分。这个概念称为方法重载。例如:
整数 总和(整数 x, 整数 y);
双 总和(双 x, 双 y);
上述两个方法同名sum()但两者不同。第一个 sum() 方法返回一个 int 值并解析两个整数 x 和 y 作为参数。而第二个 sum() 方法返回一个双精度值并解析两个双精度值 a 和 y 作为参数。
让我们创建一个重载sub()方法的程序。
MethodOverloadingExample.java
公共类 MethodOverloadingExample
{
静态int sub( int x, int y)
{
返回 x - y;
}
静态双子 (双 x, 双 y)
{
返回 x - y;
}
公共静态无效 主要(字符串 [] 参数)
{
int a = sub( 45 , 23 );
双 b = sub( 23.67 , 10.5 );
System.out.println( "整数值的减法:" +a);
System.out.println( "双精度减法:" +b);
}
}
输出:
整数值的减法:22
双值减法:13.170000000000002
抽象方法是使用抽象关键字声明的方法。抽象方法只有一个方法声明。另一个类中定义的抽象方法的主体。抽象方法必须在抽象类中声明。我们可以将抽象方法的可见性设置为私有或公共。我们不能将抽象方法声明为 final,因为它违反了抽象方法的优点。
抽象方法的实际实现必须在子类中。我们可以定义一个抽象方法如下:
抽象公共无效 findArea();
让我们创建一个调用抽象方法的示例。
在下面的示例中,我们创建了一个名为AbstractMethodExample的类并将其声明为抽象。在这个类中,我们声明了一个名为show()的抽象方法。之后,我们创建了另一个名为AbstractMethodCalling的类,它扩展了AbstractMethodExample类。在这个类中,我们实现了抽象方法。
为了调用抽象方法 show(),我们创建了父类的一个实例并调用了抽象方法。
AbstractMethodCalling.java
//抽象类
抽象类 AbstractMethodExample
{
//抽象方法声明
抽象无效 显示();
}
公共类 AbstractMethodCalling 扩展 AbstractMethodExample
{
//抽象方法实现
无效 显示()
{
System.out.println( "调用的抽象方法。" );
}
公共静态无效 主(字符串参数 [])
{
AbstractMethodExample obj = new AbstractMethodCalling();
//调用抽象方法
obj.show();
}
}
输出:
调用的抽象方法。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习