首页 > 编程知识 正文

静态类中的非静态方法,static静态函数

时间:2023-05-06 09:13:27 阅读:260513 作者:4400

使用静态方法后,对方法的调用直接 类名.方法名

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(); //这个不可以!!! }}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。