0
点赞
收藏
分享

微信扫一扫

JAVA static关键字注意事项

鲤鱼打个滚 2022-03-30 阅读 79
java

在同一类下

对于量静态成员变
1、同一个类中,可以直接调用静态变量
2、也可用类名调用
3、当然用对象也不是不可以,但不推荐

在静态方法中

1、可以调用静态成员变量
2、不可调用外部实例成员变量
3、无法使用this关键字

在实例方法中
1、可以调用外部实例变量
2、也可调用静态变量
3、this关键字也可使用

在不同类下

对于静态成员变量

1、不可直接调用静态变量

2、可以用类名调用

3、可以用变量名调用,但不推荐

代码演示:

同一类下

/**
 * 在同一类下
 */
public class Users {

    //定义实例成员变量name1
    public String name1;
    //定义静态成员变量name2
    public static String name2 = "CVqiandundun";


    public static void main(String[] args) {
        /**
         * 在静态成员变量中
         */
        //同一个类中,可以直接调用静态变量
        System.out.println(name2);
        //也可用类名调用
        System.out.println(Users.name2);
        //当然用对象也不是不可以,但不推荐
        Users user = new Users();
        System.out.println(user.name2);
    }

    /**
     * 在静态方法中
     */
    public String name = "aaa";
    public static void Fun(){
        //可以调用静态成员变量
        System.out.println(name2);
        //不可调用外部实例成员变量
        System.out.println(name); //报错
        //无法使用this关键字
        System.out.println(this.name2); //报错
    }

    /**
     * 在实例方法中
     */
    public void fun(){
        //可以调用外部实例变量
        System.out.println(name);
        //也可调用静态变量
        System.out.println(name2);
        //this关键字也可使用
        System.out.println(this.name2);
    }

}

不同类下  

public class staticdemo1 {

    public static void main(String[] args) {
        //不可直接调用静态变量
        System.out.println(name2);//报错
        //可以用类名调用
        System.out.println(Users.name2);
        //可以用变量名调用,但不推荐
        Users user = new Users();
        System.out.println(user.name2);
    }

}

举报

相关推荐

0 条评论