静态方法没有this关键字,是属于类的,不需要对象;
    static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了。 并且由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用。
    如果是要和对象有关系,而且方法中需要访问实例成员,就用实例方法
    如果是为了共享(直接用类名访问),就用static静态方法
    image.png

    1. package com.itheima.d1_static;
    2. public class Student {
    3. /**
    4. * 实例成员变量: 无static修饰,属于对象
    5. */
    6. private String name;
    7. /**
    8. * 静态成员方法: 有static修饰,归属于类,可以被共享访问,用类名或者对象名都可以访问
    9. */
    10. public static int getMax(int age1,int age2){
    11. return age1 > age2 ? age1 : age2; // 三元运算符
    12. }
    13. /**
    14. * 实例方法(没有static修饰):属于对象的 (在其他类,要创建对象直接访问)本地类也是
    15. */
    16. public void study(){ // void是返回值类型,没有返回值不用return
    17. System.out.println(name + "在好好学习天天向上");
    18. }
    19. public static void main(String[] args) {
    20. // 1.类名.静态成员方法
    21. System.out.println(Student.getMax(10,20));
    22. // 注意:同一个类中,访问static静态方法,类名可以省略不写
    23. System.out.println(getMax(10,20));
    24. // study(); //不能直接调用,因为实例方法(没有static修饰)是属于对象的,所以要先创建一个对象
    25. Student s = new Student(); // 创建一个对象,然后可以访问实例方法
    26. s.name = "猪八戒";
    27. s.study();
    28. }
    29. }

    总结:
    image.png