对象和类之静态变量、常量和方法


在上的篇的博客中创建的Circle()方法属于实例方法,里面的变量也是属于实例变量,即实例变量是绑定到类的某个特定的实例的,它不能被同一个类的不同对象共享
。例如,创建一下两个对象:

Circle() circle1 = new Circle();
Circle()  circle2 = new Circle(5);


这两个实例的属性是不相关的,它们储存在不同的内存位置,circle1 的变化不会对circle2有影响,反之亦然~


如果想让一个类的所有实例都共享数据,就要使用静态变量,也称之为类变量。静态变该类的一个对象改变了静态变量的值,那么该类的所有对象都会受到影响。要声明一个静态变量或方法,就要在这个变量或方法声明的时候加上修饰符static。Java支持静态方法和静态变量,无需创建类的实例就可以调用静态方法。


类中的常量都是被该类的所有对象共享的,且不能修改的。因此,常量应该声明为final static 。例如:Math类中
的常量定义如下:
final static double PI = 3.1415926535897932846;

实例方法和实例变量都是属于实例的。所以它们在实例创建之后才可以使用。它们是通过应用变量来访问的。静态方法和静态数据可以通过应用变量或者是它们的类名来调用。
下面一个小程序演示如何使用实例变量、静态变量、实例方法和静态方法。

public class Foo {

    int i = 5;
    static int k = 2;
    public static void main(String[] args){
        Foo foo = new Foo();
        //m1()是实例方法,必须要用实例调用
        foo.m1();
        int j = foo.i;


    }
    public void   m1(){
        //m2()是静态方法,直接用方法名即可调用
        i = i + k + m2(i,k);
    }

    public static int m2(int i,int j){
        return (int)(Math.pow(i,j));
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值