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小时内删除。