【Java基础】 static
static
static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象。可以直接用.来访问它的成员变量和成员方法。
static变量
static修饰的变量叫做静态变量,没有被static修饰的变量叫做实例变量。
两者的区别是:对于静态变量在内存中只有一个拷贝,JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可以用类名直接访问,也可以通过对象来访问。对于实例变量,每创建一个就会分配一次内存,实例变量可以在内存中有多个拷贝,互不影响。
static方法
static修饰的方法叫做静态方法,静态方法可以通过类名调用,任何的实例都可以调用。因为他在类加载的时候就存在了,它不依赖于任何实例,所以static方法必须实现,也就是说他不能是抽象方法。
static代码块
static代码块也叫做静态代码块,在类加载的时候就会运行这些静态的代码块。
static限制
- 只能调用其他static方法
 - 只能访问static变量
 - 不能以任何形式引用this和super
 - static变量在定义时必须要初始化,并且初始化时间要早于非静态变量
 
【Java基础】 static的更多相关文章
- java基础—static关键字
		
一.static关键字
 - java基础 static
		
参考文章: 静态导包:https://blog.csdn.net/u012338954/article/details/51010337 常量池:http://blog.sina.com.cn/s/b ...
 - Java基础--static关键字
		
不管是平时阅读源代码,还是笔试.面试中,static关键字还是经常被问道,这篇文章主要来重新复习一下该关键字. 一.static用途 static方便在没有创建对象的时候调用方法或者变量. stati ...
 - java基础--static关键字的使用
		
一.static关键字的作用 使类成员完全独立于该类的任何对象.通常情况下,类成员必须通过它的类的对象访问,但是被static修饰的成员,能够被自己访问,而不必引用特定的实例. 一旦一个成员被声明为s ...
 - Java基础static的探究
		
static方法就是没有this的方法. 在static方法内部不能调用非静态方法, 但是在非静态的方法中可以调用静态的方法和变量. 而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用stati ...
 - java基础——static keyword小节
		
static 用于修饰成员 修饰成员变量和成员函数 被修饰过的成员的特点: 1.随着类的载入而载入 2.优先于对象而存在 3.被全部对象所共享 4.能够直接被类名调用
 - Java基础 static限定符的使用 以及【 static实现的 singleton(单例)设计模式】
		
static实现的 singleton(单例)设计模式 /** static实现的 singleton设计模式 , 使得一个类只能够创建一个static对象 */ 模板设计结构: package Co ...
 - java基础之关键字static
		
在java当中有很多关键字,static便是其中一个,它很普通但我们经常需要运用到它,所以要了解static是非常有必要的. 鉴于本人知识结构有限,若有错误忘不吝赐教,甚为感谢. 一. ...
 - Java基础系列--static关键字
		
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/8477914.html 一.概述 static关键字是Java诸多关键字中较常使用的一个,从 ...
 - java基础(五)-----关键字static
		
在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个“伪全局”的概念,在Java中static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,当然也可以修饰代码块. ...
 
随机推荐
- Struts2命令空间小结
			
sturts2命名空间小结,以tomcat为服务器 1. 命名空间配置为“/” <package name="default" namespace="/" ...
 - linux在线预览pdf文件开发思路
			
准备:swftools,flexpaper 基本思路: 1,将pdf文件转化成swf文件 2,使用flexpaper预览swf文件 主要代码: 1,在linux中安装swftools.官网下载swft ...
 - 1833: [ZJOI2010]count 数字计数
			
1833: [ZJOI2010]count 数字计数 Time Limit: 3 Sec Memory Limit: 64 MBSubmit: 2951 Solved: 1307[Submit][ ...
 - 【USB-HID在STM32上的实现】-00-开始
			
前一段时间参照网上的例程搞了一阵STM32F103的HID程序,改了改例子实现了一个摇杆的外设控制功能.1通道开关量输入,2通道模拟量输入. 之后有空了总结一下,防止忘记.
 - ArcGIS Server的切图原理深入(转载)
			
http://forum.osgearth.org/template/NamlServlet.jtp?macro=search_page&node=2174485&query=arcg ...
 - 如何解决ADT17下Android第三方jar包NoClassDefFoundError的错误
			
转自:http://blog.csdn.net/huzgd/article/details/7604069本人已试过第二种解决方法可行!! 原文:Posted by Foxykeep on 22/03 ...
 - Failed to install *.apk on device 'emulator-5554': timeout
			
错误提示: Failed to install helloworld.apk on device 'emulator-5554': timeout 或者 the user data image is ...
 - ExportExcel
			
package cn.com.jansh.core.util; import java.awt.print.Book; import java.io.BufferedInputStream; impo ...
 - CentOS 7  安装  JDK
			
1. 卸载旧版 1.1. 查看版本信息 java -version 1.2. 查看JDK信息 rpm -qa | grep java 1.3. 卸载 rpm -e --nodeps tzdata-ja ...
 - Spring @Transactional使用的示例
			
Spring @Transactional使用的示例: 参考: http://blog.csdn.net/seng3018/article/details/6690527 http://blog.si ...