A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© gcno93 中级黑马   /  2016-9-1 20:49  /  377 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
static(修饰符)
        1.static修饰成员变量
                1.如果存在数据共享给所有对象使用的话,那就使用static修饰
                2.静态成员的访问方式
                        1.使用对象去访问
                                对象.变量
                        2.使用类名访问
                                类名.变量
                注意:
                        1.非静态成员只能通过对象去访问,不能使用类名访问
                        2.不要因为静态调用简单,而盲目的使用static,只要成员
                        变量真的需要给所有对象共享时才使用static
        2.static修饰成员函数
                静态函数访问方式:
                        1.使用对象去调用
                                对象.函数名();
                        2.使用类名去调用
                                类名.函数名();
               
                静态函数的注意事项:
                        1.静态函数不能直接访问非静态的成员
                        2.非静态成员可以问静态的成员
                        3.静态函数中不能出现this和super
                记得:static数据是优先对象而存在的
                static数据在类的字节码加载到内存时就加载了

        静态成员变量与成员变量的区别:
                1.作用上的区别:
                        1.静态成员变量是贡献数据给所有对象使用的
                        2.成员变量是描述一类事物的公共的属性
                2.数量和存储位置的区别:
                        1.静态成员变量是存储到方法区的静态共享区上的,只有一份
                        2.成员变量是存储到堆内存上的,有n个对象就有n份
                3.生命周期:
                        1.静态成员变量是随着类的加载而加载,随类的消失而消失
                        2.成员变量是随着对象的创建而存在,随着对象的消失而消失

*/



class MyStatic {
        public static void main(String[] args) {
               
                System.out.println("Hello World!");
        }
}

class Admin {
        private String name;
        private int age;
        Admin(String name){
                this.name=name;
        }
        Admin(String name,int age){
                this(name);
                this.age=age;
        }

        public void run(){
                int name="狗";
                System.out.println(this.name+"在跑");
        }



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马