码迷,mamicode.com
首页 > 编程语言 > 详细

Java面向对象之关键字static 入门实例

时间:2018-04-15 23:50:51      阅读:299      评论:0      收藏:0      [点我收藏+]

标签:class   his   com   color   system   概念   分享   静态   col   

 

一、基础概念

  静态关键字 static 是成员修饰符,直接用于修饰成员。

  (一)特点:

    1.被静态修饰的成果,可以直接被类名所调用。

    2.静态成员优先于对象存在。

    3.静态成员随着类的加载而加载。随着类的消失而消失。静态成员的生命周期很长。

  (二)注意事项:

    1.静态方法只能访问静态成员,不能访问非静态成员。

    2.静态方法中不能出现this或者super关键字。

    3.主函数是静态的。

  (三)什么时候用:

    1.成员变量:如果数据在所有对象中都是一样的。直接用静态修饰。

    2.成员函数:如果函数没有访问过对象中的属性数据,那么该函数就是静态的。

  (四)成员变量和静态变量的区别:

    1.名称:成员变量也叫实例变量。静态变量也叫类变量。

    2.内存存储:成员变量存储到堆内存的对象中。静态变量存储到方法区的静态区中。

    3.生命周期:成员变量随着对象的出现而出现,随着对象的消失而消失。静态变量随着类的加载而加载。随着类的消失而消失。

  (五)静态代码块:

    1.随着类的加载而执行,而且只执行一次。

    2.给类进行初始化。

    3.类不需要创建对象,但是需要初始化。这是将部分代码存储到静态代码块中。

二、实例代码  

class Person
{
    private String name;
    private int age;
    
    Person(String name,int age)
    {
        this.name = name;
        this.age = age;
    }
    public void show()
    {
        System.out.println("name="+name+",age"+age);
    }
    //既然sleep方法没有访问到对象中的属性,可以用static修饰该方法。(节约内存的使用)
    public static void sleep()
    {
        System.out.println("sleep......");
    }
    //静态代码块
    static
    {
        System.out.println("static......");
    }
}

class StaticDemo
{
    public static void main(String[] args)
    {
        Person p = new Person("xiangming",20);
        Person.sleep();//调用sleep方法,可以通过类名的方式访问。
        Person.sleep();//用类名调用的方法必须通过指定修饰符static来修饰
    }
}

三、代码运行

  技术分享图片

 

Java面向对象之关键字static 入门实例

标签:class   his   com   color   system   概念   分享   静态   col   

原文地址:https://www.cnblogs.com/zhuxr/p/8850227.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!