文档章节

Static关键字详解

摩天轮不会哭
 摩天轮不会哭
发布于 2017/08/31 15:50
字数 700
阅读 6
收藏 1

static关键字:
    (1)静态的意思,用来修饰成员变量和成员函数
    (2)静态的特点:
        随着类的加载而加载
        优先于对象存在
        对所有对象共享
        可以被类名直接调用
    (3)静态的注意事项
        A:静态方法只能访问静态成员
            为什么:因为静态的内容是随着类的加载而加载,它是先进内存的。
        B:静态方法中不能使用this,super关键字
        C:主方法是静态的
            public static void main(String[] args)
            public:公共的意思,是最大权限修饰符。
            static:由于jvm调用main方法的时候,没有创建对象。
                   只能通过类名调用。所以,main必须用static修饰。
            void:由于main方法是被jvm调用,不需要返回值。用void修饰。
            main:main是主要的意思,所以jvm采用了这个名字。是程序的入口。

            String[]:字符串数组
            args:数组名

            在运行的时候,通过java命令给args数组赋值。
            格式:java MainTest hello world itcast
    (4)静态变量和成员变量的区别
        A:调用方式
            静态变量也称为类变量,可以直接通过类名调用。也可以通过对象名调用。
            这个变量属于类。
            成员变量也称为实例变量,只能通过对象名调用。这个变量属于对象。
        B:存储位置
            静态变量存储在方法区长中的静态区。
            成员变量存储在堆内存。
        C:生命周期
            静态变量随着类的加载而存在,随着类的消失而消失。生命周期长。
            成员变量随着对象的创建而存在,随着对象的消失而消失。
        D:与对象的相关性
            静态变量是所有对象共享的数据。
            成员变量是每个对象所特有的数据。
    (5)静态的优点和弊端
        优点:
        对对象的共享数据进行单独空间的存储,节省内存,没有必要每个对象都存储一份
        可直接被类名调用
        弊端:
        生命周期过长,随着类的消失而消失
        访问出现权限,即静态虽好但只能访问静态
    (6)什么时候使用静态呢?
        A:当所有对象共享某个数据的时候,就把这个成员变量定义为静态修饰的。
        B:当某个方法没有访问该类中的非静态成员,就可以把这个方法定义为静态修饰。

        静态的生命周期比较长,所以一般不推荐使用。
    (7)静态代码块
        A:它只执行一次,它比main还先执行。
        B:执行顺序
            静态代码块--构造代码块--构造方法

© 著作权归作者所有

共有 人打赏支持
摩天轮不会哭
粉丝 0
博文 2
码字总数 700
作品 0
兰州
私信 提问
C# 之 static的用法详解

一、静态类   静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量。在声明一个类时使用static关键字,具有两个方面的意义:首先,它防止...

哈根达斯
08/20
0
0
JAVA synchronized关键字详解

并发的问题 在java多线程编程中,我们碰到的最大的问题就是资源竞争,这令我们的正常程序流程变得复杂而诡异。 看下面这段代码: 输出: Start... Start... Start... end end end 为什么会这...

codetask
2016/12/20
19
0
干货——详解Java中的关键字

在平时编码中,我们可能只注意了这些static,final,volatile等关键字的使用,忽略了他们的细节,更深层次的意义。 本文总结了Java中所有常见的关键字以及一些例子。 static 关键字 概述: ...

Janti
07/22
0
0
单例模式 - Singleton Pattern

简介 什么是单例?为什么需要单例? 单例模式的目的是设计出一个类,能提供全局唯一的对象。 举个例子,程序中需要一个类用做管理配置项。这样一个类显然希望是全局只有一个,在任何地方都能...

齐晋
2017/08/22
0
0
没听说过这些,就不要说你懂并发了,three。

转自http://www.cnblogs.com/zuoxiaolong/p/con2.html 并发编程的简单分类      并发常见的编程场景,一句话概括就是,需要协调多个线程之间的协作,已保证程序按照自己原本的意愿执行。...

付翔
2015/03/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS配置Tomcat监听80端口,虚拟主机

Tomcat更改默认端口为80 更改的配置文件是: /usr/local/tomcat/conf/server.xml [root@test-a ~]# vim /usr/local/tomcat/conf/server.xml # 找到 Connector port="8080" protocol="HTTP/1......

野雪球
16分钟前
0
0
《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
56分钟前
1
0
java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
今天
2
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部