Java 基础之 static 静态】的更多相关文章

static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何对象.也就是说,它不依赖类特定的实例,被类的所有实例共享. 只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们.因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象. 用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类…
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/8477914.html 一.概述 static关键字是Java诸多关键字中较常使用的一个,从其本意可得其意:静态,何为静态呢?静,即不动,静止,固定不变之意(其实可以理解为存储位置不变). Java中的静是相对于"动"而言的,所谓的动就是可变化的内容. 当然这里指的是针对类而言的,静态内容指的是在类被JVM加载的时候就确定的内容,这部分内容只会被分配一次内存,即在内存中保留一份存…
Java中的static关键字主要用于内存管理.我们可以应用static关键字在变量.方法.块和嵌套类中. static关键字属于类,而不是类的实例.        静态(static)可以是: 变量(也称为类变量) 方法(也称为类方法) 代码块 嵌套类         修饰变量 被static修饰的变量称作静态变量或类变量:没有被static修饰的变量,称为实例变量.静态变量在内存中只有一个拷贝(节省内存),JVM只为静态变量分配一次内存,在类加载的过程中完成静态变量的内存分配(存储在“方法区…
static关键字的基本作用就是方便在没有创建对象的情况下调用类的方法/变量, static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问. static关键字可以修饰类的成员变量,成员方法,也可以编写静态代码块来优化程序的性能. 注意:局部变量不能被声明为static变量: 虽然在静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态成员方法中是可以访问静态成员方法/变量的: 即使没有显示地声明为static,类的构造器实际上也是静态方法:…
/* * * static静态代码块: * 调用静态属性的时候 对应类里面的静态代码块就会被直接执行 * 注意: 只会执行一次,只能调用类内静态结构的(方法/属性) * 作用: 初始化类的属性 * * 非static静态代码块: * 只有类被实例化后,才会调用非static静态代码块里面的内容 * 注意:随着创建对象都会执行一次,可以调用静态结构/非静态的结构的(方法/属性) * 作用:创建对象时,对对象的属性进行初始化 * * 与Python对比: * 类似于Python中魔法方法__init…
静态的属性.方法等属于类而不是对象. 静态的方法能够由类直接调用,不须要将类实例化. 本篇主要说明:1.态的代码.成员变量要比构造方法先运行. 2. 子类的构造方法会默认去调用父类的不带參数的构造方法,假设父类不提供不带參数的构造方法,则子类的构造方法要显示使用super(param),去调用父类的带參数的构造方法 下面代码,能够将凝视掉的内容放开,或增改參数类型.參数定义的位置等,然后运行main看看打印结果,就会更加明确:静态的代码(块).成员变量要比构造方法先运行. /** * autho…
static关键字特点: 随着类的加载而加载. 优先于对象存在. 被所有对象共享 可以直接被类名调用. 使用注意: 静态方法只能访问静态成员. 但非静态成员可以访问静态成员. 静态方法中不能使用this,super关键字. 主方法(main)是静态的. 看了上面是不是想睡觉了,单纯的概念是挺烦人的,那下面让我们在实际代码中来加深对他们的认知. 方法的调用可以分为两种: 对象调用: 对象.方法(实参) 类调用: 这个方法所在类的名字.方法(实参)//前提是这个方法必须被static修饰. 没有使用…
static static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念.被static修饰的成员变量和成员方法独立于该类的任何对象.也就是说,它不依赖类特定的实例,被类的所有实例共享.只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们.因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象.可以直接用.来访问它的成员变量和成员方法. st…
1.map的静态初始化,以及map遍历的几种方法: package com.cy.test; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; public class Test { public static void main(String[] args) { Map<String, Integer> map = new HashMap…
static关键字通常应用在字段.方法.静态块,还有冷门一点的内容:静态内部类.静态导入 static字段: static字段也就是静态变量,是属于类的,被所有的对象所共享,只有当类初次加载的时候保存到内存中,在内存中只保存一份 实例变量是属于对象的,在创建对象的时候进行初始化,每个对象的实例变量是互斥的,不会相互影响 PS:static是不允许用来修饰局部变量,无论是方法.静态块.代码块 static方法: public class A{ private static int i = 1; p…