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