静态变量与静态方法

静态变量

比如有一个银行账户account类,account有三个成员变量,账户名,储蓄金额和利率。
我们知道,每个人的账户名和储蓄金额是不同的,但利率都是相同的。
这个利率就是一个静态变量。
静态变量由关键字static修饰

静态变量为整个类所公有,而不被独立地属于某个类对象,因而静态变量可以使用类名直接访问,也可以使用对象进行访问。

// account.java
package Java;

public class account {
    
    
    // 实例变量账户金额
    double amount = 0.0;
    // 实例变量账户名
    String owner;

    // 静态变量利率
    static double interestRate = 0.0688;

    // 静态方法

    public static double interestRy(double amt) {
    
    
        // 静态方法可以访问静态变量和其他静态方法
        
        return interestRate * amt;
    }
    static {
    
    
        System.out.println("the static code is being executing\n");
        interestRate=0.0668;
    }

    // 实例方法
    public String messageWith(double amt) {
    
    
        // 实例方法可以访问实例变量、实例方法、静态变量和静态方法
        double interest = account.interestRy(amt);
        StringBuilder sb = new StringBuilder();
        // 拼接字符串
        sb.append(owner).append("'s interest is ").append(interest);
        // 返回字符串
        return sb.toString();
    }
}

package Java;

public class use {
    
    
    public static void main(String[] args) {
    
    
        //
        System.out.println((account.interestRate));
        //
        System.out.println((account.interestRy(1000)));
        account myAccount = new account();
        //
        myAccount.amount = 1000000;
        myAccount.owner = "lmy";

        System.out.println(myAccount.interestRate);
        System.out.println(myAccount.messageWith(1000));

    }
}

静态方法

静态方法可以访问静态变量和其他静态方法,但不能访问实例方法
实例方法可以访问实例变量、其他实例方法、静态变量和静态方法

猜你喜欢

转载自blog.csdn.net/qq_52109814/article/details/123223665