静态 几个重要点

来源:互联网 发布:互联网金融java面试题 编辑:程序博客网 时间:2024/05/17 09:38
/*
2014年9月15日 
本程序证明了: 
                1.static属性i是属于类本身,或者讲:没有对象,我们仍然可以直接通过类名的方式访问该类内部的static属性
 static方法g同理
2.static属性和方法虽然属于类本身,虽然可以通过类名的方式访问
 但是static属性和方法很明显也属于类对象,当然也可以通过类对象名的方式访问
                
                3.只有非private的static成员才可以通过类名的方式访问
 static只是表明了该成员具有了可以通过类名访问的潜在特征
 但是否可以通过类名访问,还必须满足一个条件: 该成员必须是非private 
            
               4. 静态方法不能访问非静态成员
 非静态方法可以访问静态成员
*/


class A
{
public static int i = 10;


public static void f()
{
                //g();  //error 说明静态方法可以访问非静态成员
System.out.printf("2014年9月15日\n");
}
        
public void g()
{
//f();  //OK 说明非静态方法可以访问静态成员
System.out.printf("GGGG\n");
System.out.printf("%d\n", i);
}
}
class TestStatic_
{
public static void main(String[] args)
{
A aa = new A();
//A.f();
aa.f();
System.out.printf("%d\n", aa.i);
                System.out.printf("%d\n", A.i);
A.f();
}
}
0 0
原创粉丝点击