学习记录分享

static修饰符
1.

public class Test01 {
	public static void main(String[] args) {
		MyClass mc1 = new MyClass();
		MyClass mc2 = new MyClass();
		mc1.a = 100;
		mc1.b = 200;
		mc2.a = 300;
		mc2.b = 400;
		System.out.println(mc1.a);
		System.out.println(mc1.b);
		System.out.println(mc2.a);
		System.out.println(mc2.b);
	}
}
class MyClass{
	static int a;
	int b;
}

输出:
300
200
300
400
a是静态属性,是整个类共同持有的共享空间,任何对象修改,都会影响其他对象。

在这里插入图片描述
在这里插入图片描述
5 7
5报错是因为a是非静态属性,而m2方法是静态方法,静态方法无法访问非静态属性,所以无法访问到a
7报错是因为fa方法是非静态方法,而m2方法是静态方法,静态方法无法调用非静态方法,所以无法调用fa方法

public class Test03 {
	public static void main(String[] args) {
		MyClass mc1 = new MyClass();
		MyClass mc2 = new MyClass();
		MyClass mc3 = new MyClass();
	}
}
class MyClass{
	static int count = 0;
	public MyClass() {
		count++;
		System.out.println(count);
	}
}

输出:
1
2
3

public class Test04 {
	public static void main(String[] args) {
		MyClass mc1 = new MyClass();
		System.out.println(mc1.i);
		MyClass mc2 = new MyClass(10);
		System.out.println(mc2.i);
	}
}
class MyClass{
	static int i = 10;
	static {
		i = 20;
		System.out.println("In Static");
	}
	public MyClass() {
		System.out.println("MyClass()");
	}
	public MyClass(int i) {
		System.out.println("MyClass(int)");
		this.i= i;
	}
}

输出:
In Static
MyClass()
20
MyClass(int)
10

public class Test05 {
	public static void main(String[] args) {
		Super sup = new Sub();
		sup.m1();
		sup.m2();
		Sub sub = (Sub)sup;
		sub.m1();
		sub.m2();
	}
}
class Super{
	public static void m1(){
		System.out.println("m1 in Super");
	}
	public void m2() {
		System.out.println("m2 in Super");
	}
}
class Sub extends Super{
	public static void m1() {
		System.out.println("m1 in Sub");
	}
	public void m2() {
		System.out.println("m2 in Sub");
	}
}

输出:
m1 in Super
m2 in Sub
m1 in Sub
m2 in Sub

在这里插入图片描述
ACDE

15.设计一个类MyClass,为MyClass增加一个count属性,用来统计总共创建了多少个对象。

public class Test15 {

}
class MyClass{
	static int count = 0;
	public MyClass() {
		count++;
		System.out.println(count);
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值