美文网首页
Java中static修饰成员变量

Java中static修饰成员变量

作者: 山坡上的斐德洛 | 来源:发表于2018-12-06 21:54 被阅读0次
/*
* static修饰成员方法
*
* 格式:
*   权限修饰符 static 返回值类型 方法名(形式参数列表){
*       // 方法体;
*   }
*
* 【重点】
*   用static修饰的成员方法,称之为【静态成员方法】,这个【静态成员方法】是早于对象的创建而【加载】
*   对象销毁之后仍然存在
*
*   所以说:【静态成员方法】和对象“无关”
*
*   如果采用类对象调用【静态成员方法】会报警告
*   应该直接使用静态的方式来调用
*
* 【注意事项】
*   1. 在静态方法中不能用this关键字
*       推论:
*           因为【静态成员方法】可以通过类名来调用,用雷鸣调用的情况下,是不存在对象的,而this关键字
*           是用来表示调用该方法的对象关键字,这里不存在对象,所以不能用。
*       【没有对象】
*
*   2. 在static修饰的【静态成员方法】中,不能使用【非静态成员变量】,因为【非静态成员变量】是保存在类对象
*   的【堆区】内存中,和类对象共存,而在【静态成员方法】的调用过程中是没有对象的,所以不能使用【非静态成员变量】
*
*   3. 想在【静态成员方法】中使用非静态成员变量
*       在当前【静态成员方法】中使用new关键字,调用构造方法,创建一个对象,使用该对象,
*        案例:
*           单例设计模式
* 【总结】
*   静态对静态,非静态对非静态
*
* 【静态成员方法用途】
*   1. 调用方便
*   2. 用来完成一些【工具类】
*   
* */

class Dog{
    // 成员变量
    private String name;
    // 静态成员变量
    static String country = "JP";

    // 构造方法
    public Dog(){}
    public Dog(String name){
        this.name = name;   // JSP
    }
    // setter 和 getter方法
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    // 成员方法
    public void run(){
        this.name = "110";  // 使用this关键字调用非静态成员变量
        name = "112";   // 非静态成员变量
        country = "Janp"; // 静态成员变量

        System.out.println("跑来跑去");
    }
    public static void sleep(){
        country = "RB";    // 静态成员变量
//        name = "003";   // 这个会报错
        System.out.println("睡大觉");
    }

    // 在静态方法中创建对象
    public static void test(){
        Dog dog = new Dog("狗子");

        System.out.println(dog.name);
    }
}

public class static修饰成员方法 {
    public static void main(String[] args) {
        Dog dog = new Dog("Bobo");

//        dog.sleep();  // 这个出现警告
        Dog.sleep();    // 推荐使用这种方式进行调用
    }
}

相关文章

  • Java中static的用法

    在Java中,static可以修饰成员变量、成员方法、代码块和内部类。 1. static修饰成员变量 stati...

  • 代码查错

    Something1.java 5。 static关键字 static修饰成员变量 用static修饰的成员变量不...

  • java面试问题总结与分享,很乱

    java中static关键字的作用 在Java中static表示“全局”或者“静态”的意思,用来修饰成员变量和成员...

  • Java中的static使用

    一、static修饰的成员变量 Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而...

  • Java 面向对象2

    Java 面向对象 1. static 和 final static关键字---修饰成员变量 用static修饰的...

  • java语言static

    Java中的静态方法static 1、static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可...

  • Java_basic_3: static, this 关键字

    static static 静态变量 Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所...

  • static关键字

    static关键字意为静态的,在Java中static常见的有四种用法 修饰成员变量和成员方法: 被 static...

  • Java中static修饰成员变量

  • Java Static关键字

    在java中,static是一个修饰符,用于修饰类的成员方法、类的成员变量,另外可以编写static代码块来优化程...

网友评论

      本文标题:Java中static修饰成员变量

      本文链接:https://www.haomeiwen.com/subject/twuacqtx.html