* 静态变量(相当于 一个共享的变量 每个对象都能访问到)
* 使用关键词 static 修饰
*
* 静态变量(类变量)的调用
* 1.可以使用对象直接调用(不建议)
* 2.使用类名直接调用(建议)
* 为什么建议使用类名直接调用?
* 使用类名调用静态变量 可以和 成员变量区分
* 直接使用类名调用更准确 有静态变量的时候 对象还没有创建
*
* 静态变量好处:
* 节约内存(静态变量 是一个共享的变量)
* 举例:
* 老师被所有学生共享
* 水杯 饮水机
*
* 静态变量 和 成员变量 的区别
* 1.所属不同
* 静态变量:属于类的 也叫类变量
* 成员变量:属于对象的 也叫对象变量(实例变量)
* 2.在内存中所处位置不同
* 静态变量:方法区的静态区
* 成员变量:在堆区中
* 3.在内存中的加载时机不同
* 静态变量:随着类的加载而加载 随着类的销毁(程序结束后销毁)而销毁
* 成员变量:随着对象的创建而创建 随着对象的销毁(用完就销毁)而销毁
* 4.调用方式不同
* 静态变量:对象名 和 类名(推荐)
* 成员变量:只能使用 对象名
*
*
* 对象加载到内存的表现步骤
* 1.加载有main方法 类的class文件到 方法区中
* 2.main方法入栈(需要创建AVgirl对象)
* 3.先把AVgirl.class加载到 方法区中
* 4.在堆内存中 开辟空间 创建 AVgirl 的对象
* 5.赋值方法入栈 出栈
* 6.main方法执行完毕 出栈
* 7.程序结束
构造方法的注意: * 当你这个类中 没有提供 无参的构造方法的时候 * 系统在你创建对象的时候 也会调用无参的构造方法 * 这个无参方法 系统会帮你提供一个 * 如果你只提供了 有参的构造方法 那么系统将 不再给你提供 无参构造方法了 * * 建议: 写类的时候 无参 有参的构造方法 都写上 保证不会出差错
* 静态方法:随着类的加载而加载(跟静态变量一样)
* 静态方法的执行 跟 成员方法一样 入栈和出栈
* 静态方法中不能使用成员变量 只能使用静态变量
* (静态方法加载的时候 还没有对象)
简单记:
* 静态的只能调静态的;
* 成员的既能调用成员的 也可以调用静态的
* 解析main函数
* public jvm调用main方法的时候 需要最高的权限
* static 调用静态方法 是不需要创建对象
* main 不是关键词 当程序运行时
* jvm只会调用 使用类名调用 一个叫main的函数
* String[] args 原来是用来 接收键盘输入的字符串
* (可以使用javav 和 java指令 测试)
* 编译文档命令
* javadoc -d(文件夹名) -version -author 文件名.java