使用静态方法后,对方法的调用直接 类名.方法名
public class Student {
public static void say(){
System.out.println("学生回答了!");
}
}
public class Demo01 {
public static void main(String[] args) {
Student.say();
}
}
输出结果:学生回答了!
如果用非静态方法,则需先实例化这个类(new)
对象类型 对象名 = 对象值
public class Student {
public void say(){
System.out.println("学生回答了!");
}
}
public class Demo01 {
public static void main(String[] args) {
Student stu1 = new Student();
stu1.say();
}
}
输出结果:学生回答了!
关于类对调用还有些特殊情况
1.两个方法都是静态方法可以互相调用。
2.两个方法都是非静态方法可以互相调用。
3.一个为静态方法一个为非静态方法,非静态方法可以调用静态方法,静态方法不能调用非静态方法。
原因:static是和类一起加载对,非静态方法是类实例化之后才存在。
代码解释:
public class Demo02 {
public static void main(String[] args) {}
public static void a(){
b();
}
public static void b(){
a();
}
}
public class Demo02 {
public static void main(String[] args) {}
public void a(){
b();
}
public void b(){
a();
}
}
public class Demo02 {
public static void main(String[] args) {}
public void a(){
b();
}
public static void b(){
a(); //这个不可以!!!
}
}
和非静态方法&spm=1001.2101.3001.5002&articleId=111089062&d=1&t=3&u=7e66c6f7d9464e48a22f57e2206cebf4)
328

被折叠的 条评论
为什么被折叠?



