文档章节

Static关键字详解

摩天轮不会哭
 摩天轮不会哭
发布于 2017/08/31 15:50
字数 700
阅读 5
收藏 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程序员进化为架构师需要掌握的知识

Java程序员进化为架构师掌握的知识: 一:Java知识 1、进制转换 2、Java基本数据类型 面向对象相关知识 3、类、接口、抽象类 this关键字、static关键字、final关键字 方法的参数传递机制 Ja...

andogo
2014/05/16
1K
2
单例模式 - Singleton Pattern

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

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

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

付翔
2015/03/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Swift-系统默认UICollectionViewController的基本用法

不用xib创建时,需要重写 override init(collectionViewLayout layout: UICollectionViewLayout){} 在调用时需传 UICollectionViewLayout值,不然就会报错 let layout = UICollectionViewFlow......

west_zll
27分钟前
3
0
Spring Boot 最核心的 3 个注解详解

最近面试一些 Java 开发者,他们其中有些在公司实际用过 Spring Boot, 有些是自己兴趣爱好在业余自己学习过。然而,当我问他们 Spring Boot 最核心的 3 个注解是什么,令我失望的是鲜有人能答...

Java技术栈
28分钟前
5
0
Sqoop 增量导入导出及Job操作示例

增量导入 递增列的增量导入append # 第一次导入[root@node222 ~]# /usr/local/sqoop-1.4.7/bin/sqoop import --connect jdbc:mysql://192.168.0.200:3306/sakila?useSSL=false --table ac......

PeakFang-BOK
34分钟前
3
0
Thread中断的理解

★中断的理解:1)中断可以理解为线程的一个标识位属性;2)表示一个运行中的线程是否被其他线程进行了中断操作 中断好比其他线程向该线程打了个招呼,其他线程通过调用该线程的interrupt()...

karma123
41分钟前
3
0
App store 侵权投诉

App Store Content Dispute 侵权投诉 https://www.apple.com/legal/internet-services/itunes/appstorenotices/#?lang=zh...

壹峰
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部