与static关键字有关的类变量和类方法

1.类似于成员变量可以分为实例变量和类变量,类方法也可以分为实例方法和类方法。
 (1)类变量,用static关键字修饰的变量。
 (2)类方法,用static关键字修饰的方法。
 (3)实例变量和实例方法,声明时不用static关键字修饰。
2.实例变量和类变量的区别
 (1)内存分配方面
     实例变量每个对象的实例变量都分配内存;类变量仅在生成第一个对象时分配内存。
 (2)在对象所属方面
    实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果。
3.实例方法和类方法的区别
 (1)在操作上
      实例方法可以对实例变量和类变量进行操作;类方法只能访问类变量,不能访问实例变量。
 (2)在使用方面
      类方法中不能使用this或super关键字,因为而静态方法与对象无关,this和super是属于对象范畴的东西,而静态方法根本不能把对象的引用传到方法中,所以不能用this或super关键字。

4.现在让我们编写一个程序去验证实例方法和类方法的差异

(1)建立一个Test.java文件,内容为:

class A {
	static int a;
	int b;
	static void init1(int i) {
		a = i;
	}
	void init2(int i) {
		b = i;
	}
	static int put1() {
		return a;
	}
	int put2() {
		return b;
	}	
}

public class Test {
	public static void main(String args[]) {
		A t1 = new A();
		A t2 = new A();
		t1.init1(8);
		t2.init1(10);
		System.out.println("t1.init1:"+t1.put1()+"  t2.init1:"+t2.put1());
		t1.init2(12);
		t2.init2(14);
		System.out.println("t1.init2:"+t1.put2()+"  t2.init2:"+t2.put2());
	}
	
}

(2)运行过程及运行结果如下:



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值