首页 > Java > java教程 > 正文

Java中的静态方法

王林
发布: 2024-08-30 16:17:02
原创
803 人浏览过

Java中的静态方法是属于类的一部分但不被视为类的实例的方法;相反,Java 中的静态方法可以轻松创建和实现,而无需任何实例调用。静态方法可以访问类的任何数据成员,并且可以对数据成员进行任何操作,或者可以将任何值作为输入,尽管要访问的成员变量应该具有类中变量的范围,并且方法只能是静态的。

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

语法:

静态方法在Java中的表示如下:

public static void syntax_ex (String_name) {
Body of the program for execution.
}
登录后复制
  • public:该类的访问修饰符是public。
  • static:方法的作用域被设置为static,这意味着所有的成员变量和返回类型都将在static的作用域内。
  • void:语法流程中的该关键字表示当前方法中没有处理返回类型。
  • syntax_ex: 类的名称,表示静态方法是当前定义的类的一部分,后跟字符串名称。
  • 执行的程序主体:包含整个核心逻辑,如果需要静态模式则包含业务逻辑。
注意: 静态方法的声明必须有 static 作为修饰符,否则,静态范围将无法满足,并且如果是的话,它将无法访问和操作类的任何成员变量不是静态的。返回类型可以是 int、string、float 或任何自定义数据类型。 static 关键字一旦保留,就必须遵循一些内存分配标准。

静态方法在 Java 中如何工作?

  • 静态方法和实例方法是Java中的两种方法,这两种方法在程序员中造成了一些混乱,但这只是一个误解。静态方法和实例方法都有很大的区别。让我们看看静态方法在 Java 中是如何工作的。 java中的静态方法是驻留在类中的方法,即使没有创建对象或没有实例化也可以访问。类名后跟方法名并传递参数足以访问该类的任何实例。
  • 它可以表示为 ClassName.methodName(arguments)。此外,这些方法的组成只有一个目标,即该方法应该可共享给类中存在的所有成员变量和对象,其范围是用修饰符 static 定义的。这些方法没有任何重写的能力;相反,当程序员需要在类的所有实例和对象或成员变量之间共享公共代码片段时,可以使用编译器在编译时的静态绑定来重载它们,然后静态方法就出现了作为一个救世主,因为它通过创建一个公共静态范围来为所有成员、对象和变量创建一种共享配置以供参考。
  • 类的所有静态字段都可以使用静态字段作为类的静态方法的一部分来访问。此外,静态方法与内存分配功能相关并且也受内存分配功能的支持。它将静态方法字段和变量的一部分与一些永久生成的堆一起存储在内存中,用于关联值。内存分配不支持对象作为静态方法堆创建,或者方法本身不支持实例化。但接下来想到的问题是静态方法如何通过为类的所有成员共享和创建作用域来工作。
  • 答案在于,作为参数传递给方法的局部变量(该方法又由类调用)存储在堆栈本身中。由于它们都是类的一部分并且以这种方式属于类,因此其他成员变量或方法可以轻松访问它们,而无需创建任何对象。

Java 中静态方法的示例

下面给出了 Java 中静态方法的示例:

示例#1

该程序演示了静态类及其特定成员,它试图纠正所提到的主题中的分数;基本上,它表明无需创建任何对象或无需任何实例化,它就能够创建和访问静态范围内的类的字段或成员变量。

代码:

public class E_Static_Method_Ex {
int roll_no;
String stdnt_name;
static String subject = "Maths";
public void rectify()
{
subject = "English";
}
E_Static_Method_Ex(int roll, String name) {
roll = roll_no;
name = stdnt_name;
}
void represent()
{
System.out.println(roll_no+""+stdnt_name+""+subject);
}
public static void main(String[] args) {
String mrks = E_Static_Method_Ex.subject;
System.out.println(mrks);
}
}
登录后复制

输出:

Java中的静态方法

Example #2

This program demonstrates a very significant point which needs to be kept in mind while executing any static method code, which is like the arguments passed and declared in the class should be defined within the scope of static or should have initialized with the static keyword so that accessing the field or the member variable becomes easy and there remains no compilation error as represented in the given program.

Code:

public class Restrcn_Static_Class {
int bi = 30;
String name = "Welcome Everyone!";
public static void main(String[] args) {
System.out.println(bi);
System.out.println(name);
}
}
登录后复制

Output:

Java中的静态方法

Example #3

This program demonstrates the static variable that becomes accessible for the static class if the fields are declared and defined with static as a modifier; otherwise, the scope of static won’t get satisfied, and it will throw compilation error like the earlier example.

Code:

public class Static_Var_1 {
static int cnt=0;
Static_Var_1(){
cnt++;
System.out.println(cnt);
}
public static void main(String[] args) {
Static_Var_1 d1=new Static_Var_1();
Static_Var_1 dd2=new Static_Var_1();
Static_Var_1 dd3=new Static_Var_1();
Static_Var_1 dd4=new Static_Var_1();
Static_Var_1 dd6=new Static_Var_1();
}
}
登录后复制

Output:

Java中的静态方法

Conclusion

Static Method in Java is a useful method in a class and has a clear difference when compared with the instance method as static method gives programmers flexibility by making them free from object creation, i.e. from the method of object instantiation. It helps in making the entire static class dynamic and versatile in nature, unlike the instantiation method.

以上是Java中的静态方法的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板