类变量/静态变量/static变量(一个意思)

类变量/静态变量/static变量(一个意思)

普通属性/普通成员变量/非静态属性/非静态成员变量/实例变量/实例属性(一个意思)

类变量

  • 类变量被同一个类中所有对象共享。
  • 在类加载时就生成,所以即便是没有实例对象就能直接调用。
  • 静态变量是该类中所有对象***共享的***,而实例变量是每个对象独享的。

通过 类名 . 类变量名 进行访问。

类方法

  1. 同静态方法/static方法。
  2. 访问修饰符+static+数据返回类型+方法名(){}
public class StaticMethod {
    
    
    public static void main(String[] args) {
    
    
        Stu stu1 = new Stu("张三");
        stu.pay(1000);
        stu.showFree();//通过对象调用。输出:学费:1000.0
        Stu stu2 = new Stu("李四");
        stu1.pay(1000);
        stu1.showFree();//继续通过对象调用,输出:学费:2000.0
        Stu.pay(1000);
        Stu.showFree();//通过类名+方法名调用,输出:学费:3000.0
    }
}
class Stu{
    
    
    private String name;
    private static double free;

    public Stu(String name) {
    
    
        this.name = name;
    }
    //定义一个方法计算总收费金额
    public static void pay(double free){
    
    
        Stu.free+=free;
    }
    public static void showFree(){
    
    
        System.out.println("学费:"+Stu.free);
    }
}

类方法的使用场景:

当方法中不涉及任何和对象相关的成员,则可以设置成静态方法。提高开发效率,比如untils下的Math类,Arrays类,Collection类。

在实际的开发中,往往会将一些通用的方法,设计成静态方法.这时不需要创建对象就能调用,比如打印数组,冒泡排序,完成某个计算任务等等。

例如:

class Cal{
    
    
    public static double calSum(double n1,double n2){
    
    
        return n1+n2;
    }
}

注意事项:

  • 类方法中不允许出现和对象有关的关键字,比如this,super,普通成员方法可以。
  • 类方法只能访问类变量和类变量。
  • 普通方法既可以访问类方法,也可以访问普通方法。

Guess you like

Origin blog.csdn.net/weixin_61370937/article/details/120705218