2021-04-18 10:53  阅读(110)
文章分类:Java 基础教程 文章标签:JavaJava 教程
©  原文作者:w3cschool 原文地址:https://www.w3cschool.cn/java/java-class-instance.html

Java面向对象设计 - Java实例/静态方法

类可以有两种类型的方法:实例方法和类方法。实例方法和类方法也分别称为非静态方法和静态方法。

实例方法用于实现类的实例的行为。实例方法只能在类的实例的上下文中调用。

类方法用于实现类本身的行为。类方法总是在类的上下文中执行。

静态修饰符用于定义类方法。方法声明中缺少静态修饰符,使得该方法成为一个实例方法。

例子

以下是声明一些静态和非静态方法的示例:

    // A  static or  class method 
    static void  aClassMethod()  {
        
    }
    
    // A  non-static or  instance method 
    void  anInstanceMethod()  {
    
    }
    

注意

当调用类的静态方法时,该类的实例可能不存在。因此,不允许从静态方法内部引用实例变量。

类定义一加载到内存中,类变量就存在。类定义在创建类的第一个实例之前加载到内存中。

类方法或静态方法只能引用类的变量或类的静态变量。实例方法或非静态方法可以引用类变量以及类的实例变量。

以下代码演示了在方法中可访问的类字段的类型。

    public class Main {
      static int m = 100; // A static variable
      int n = 200; // An instance variable
    
      // Declare a static method
      static void printM() {
    
        /*
         * We can refer to only static variable m in this method because you are
         * inside a static method
         */
    
        System.out.println("printM() - m   = " + m);
    
      }
    
      // Declare an instance method
      void printMN() {
        /* We can refer to both static and instance variables m and n in this method */
        System.out.println("printMN() - m   = " + m);
        System.out.println("printMN() - n  = " + n);
      }
    }
    

调用方法

在方法的主体中执行代码称为调用(或调用)方法。

实例方法和类方法以不同方式调用。

使用点表示法在类的实例上调用实例方法。

    <instance reference>.<instance method name>(<actual parameters>)
    

在调用该类的实例方法之前,我们必须引用一个类的实例。

以下代码显示如何调用Main类的printMN()实例方法:

    // Create an  instance of  Main class  and
    // store its  reference in mt reference variable
    Main mt = new Main();
    
    // Invoke  the   printMN() instance  method  using the   mt reference variable 
    mt.printMN();
    

要调用类方法,请使用带有名称的点表示法。

下面的代码调用Main类的printM()类方法:

    // Invoke  the   printM() class  method
    Main.printM();
    

属于一个类的属性也属于该类的所有实例。我们还可以使用该类的实例的引用来调用类方法。

    Main mt = new Main();
    mt.printM(); // Call the   class method  using an  instance mt
    

使用类名调用类方法比使用实例引用更直观。

点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> Java 实例/静态方法
上一篇
Java 方法重载
下一篇
Java 主方法