Java静态方法与非静态方法
1.静态方法
public class Student{
public static void say(){
System.out.println("学生说话了!");
}
}
- 如果在其他类中调用该方法只需要," 类名.方法名"即可
public class Demo{
public static void main(String[] args){
Student.say();
}
}
-
可以在静态方法中,调用静态方法,但是不允许在静态方法中调用非静态方法
-
静态方法不能被子类重写
- 多学一点:私有方法也不能被重写
2.非静态方法
public class Student{
public void say(){
System.out.println("学生说话了!");
}
}
- 如果在其他类中调用该方法,必须先创建一个包含该方法的类的一个实例
public class Demo{
public static void main(String[] args){
Student student = new Student();
student.say();
}
}
- 可以在非静态方法中调用非静态方法,也可以在非静态方法中调用静态方法。
3.理解
- 静态方法可以理解为***和类一起加载的***
- 非静态方法,是要在类实例化之后才存在的
- 故,不可以在静态方法中调用非静态方法(没有实例化,非静态方法不存在)