欢迎访问宙启技术站
智能推送

Java中的类方法和实例方法区别及使用方法

发布时间:2023-05-23 08:05:37

Java中的方法分为两种:类方法和实例方法。类方法是属于类的,而不是属于类的实例。它可以通过类名直接调用。实例方法是属于类的实例的,它需要实例化对象才能调用。

类方法的使用方法:

1.通过类名调用方法,不需要实例化对象。

例如:

public class MyClass{
   public static void myMethod(){
      System.out.println("这是一个类方法");
   }
}

MyClass.myMethod(); //调用类方法

2.类方法内不能直接访问非静态成员变量和非静态成员方法。

例如:

public class MyClass{
   private static int num;
   private int val;

   public static void setNum(int n){
      num = n; //可以直接访问静态变量
      val = n; //编译时会报错,不能直接访问非静态变量
   }

   public void printVal(){
      System.out.println(val); //编译时会报错,不能直接访问非静态方法
   }
}

实例方法的使用方法:

1.首先需要实例化对象,然后通过对象名调用实例方法。

例如:

public class MyClass{
   public void myMethod(){
      System.out.println("这是一个实例方法");
   }
}

MyClass obj = new MyClass();
obj.myMethod(); //调用实例方法

2.实例方法内可以访问任何成员变量和成员方法,包括静态成员变量和静态成员方法。

例如:

public class MyClass{
   private int num;
   private static int val;

   public void setNum(int n){
      num = n; //可以直接访问非静态变量
      val = n; //也可以访问静态变量
   }

   public void printVal(){
      System.out.println(val); //可以访问静态方法
   }
}

类方法和实例方法的区别:

1.类方法是属于类的,而不是属于类的实例,可以通过类名直接调用;实例方法是属于类的实例的,需要实例化对象才能调用。

2.类方法内不能直接访问非静态成员变量和非静态成员方法;实例方法内可以访问任何成员变量和成员方法,包括静态成员变量和静态成员方法。

3.类方法可以用于像工具类一样的场景,不需要实例化对象就可以调用;实例方法则更适合描述具体对象的行为。