static关键字----注意事项


/*

 静态使用的注意事项(静态的另一个弊端):
 1,静态方法只能访问静态成员。(非静态既可以访问静态,又可以访问非静态)
 2,静态方法中,不可以使用this或者super关键字
 **3,主函数是静态的。**

 */


class father
{
    String name;//成员变量,实例变量
    static String country = "CN";//静态变量。类变量 (什么叫作类类型变量?比如teacher t,t就是类类型变量,由类定义的变量)
    public void show() { //静态方法 会报错 原因:静态随着类的创建而存在但是成员变量随着对象的创建而存在。 show存在的时候name还不存在
        System.out.println(country+":"+name);
    }
}


public class Demo_11 {
    int num = 4;
    public static void main(String[] args) {//静态的主函数
        new Demo_11().show();
        //show();//编译失败 因为静态只能访问静态。 所以第一个思路我们在show加了static
    }
    public void show()
    {
        System.out.println(num);//仍然编译失败 因为num还是非静态。 接着我们将num也定义static

    }
}
/*

 问题来了,当变量不该定义为static而被共享时,我们定义static就不合适了
 难道主函数访问别的函数都需要静态吗 其实我们可以用new一个对象调用。

 */

你可能感兴趣的:(面向对象)