Java静态成员与实例成员
Java静态成员与实例成员
类是⼀种类型,类中定义的所有成员都归此的对象所有,这些成员成为实例成员;⽽某些成员想要被所有类的所有对象共享,此时的成员不属于某个对象,⽽是属于整个类,这些成员成为静态成员。
实例成员:需要通过对象进⾏访问和调⽤
静态成员(static修饰符修饰):不需要对象可以直接调⽤
例如:
1package java学习;
2
3public class test2 {
4double a; //a为实例成员
5static double c; //c为类成员(即静态成员)
6public static void main(String[] args) {
7// TODO Auto-generated method stub
8 test2 first = new test2();
9//实例化⼀个对象
10 first.a = 0.5;
11 first.c = 1.0;
12//通过对象调⽤
13 c = 1.5;
14//直接调⽤
15 System.out.println(first.a);
16 System.out.println(first.c);
17 System.out.println(c);
18 }
19
20 }
输出结果:
静态成员c⾸先通过对象访问赋值为1.0,但是其后⼜直接调⽤c赋值1.5,故test.c也为1.5,静态变量分配空间唯⼀,某个对象的静态变量值改变,所有对象的值都将发声变化。
静态⽅法(函数)
静态⽅法不在某个特定的对象上进⾏操作,故引⽤this会发⽣错误;
调⽤静态⽅法和静态变量⼀样不需要通过对象调⽤;
静态⽅法中只能访问静态成员,不可以访问实例成员。
1package java学习;
2
3public class test2 {
4double a , s; //a为实例成员
5static double c; //c为类成员(即静态成员)
6static void sum1(double a) {
7double s = a * a; //静态⽅法中只能访问静态成员,不可以访问实例成员
8 System.out.println(s);
9 }
10void sum2(double a) {
11this.a = a;
12 c = a; //实例⽅法中访问静态成员
13 System.out.println(s);
14 }
15public static void main(String[] args) {
16// TODO Auto-generated method stub
17 test2 first = new test2();
18//实例化⼀个对象
19 first.sum1(0.5);
20 sum1(0.6);
21//直接调⽤函数
22 first.sum2(0.8);
23 }
24
static修饰的变量25 }
运⾏结果:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论