Java中的statickeyword具体解释
1.statickeyword主要有2个作用:
①为某特定的数据类型或者对象分配单一的存储空间。而与创建对象的个数无关。
②在不创建对象的情况下能够直接通过类名来直接调用方法或者使用类的属性。
2.static主要有4种使用情况:成员变量(属性),成员方法。代码块,和内部类
3.Java中没有全局变量的概念。可是能够通过static来实现全局变量的效果。
Java中提供了2种类型的变量:①用static修饰的静态变量②实例变量
他们的差别是静态变量时属于类的,仅仅要静态变量所在的类被载入。就会被分配空间,因此就而已被使用能够通过类.静态变量或者对象.静态变量来引用
实例变量属于对象,必需要先new出对象,然后通过对象.实例变量来引用,仅仅有对象呗创建才会给他分配空间
★特别重要的是static变量仅仅有一个。被类拥有,全部对象都共享这个static变量而且static变量不能定义在方法中!。。。。
4.static成员方法。与变量类似,static方法属于类的方法,不用创建对象就能够使用用过类名.static方法调用,在static方法中不能訪问非static的方法和变量,不能出现this或者superkeyword。
static非常重要的一个应用就是实现单例模式。单例模式的特点就是仅仅能有一个实例。
public class Singleton {
private static Singleton instance=null;//声明一个静态的类变量
private Singleton(){};//构造方法私有化,外部不能通过new生成对象实例
public static Singleton getInstance(){//全局訪问点,提供生成类的实例的方法
if(instance==null){
instance=new Singleton();
}
return instance;
}
}
注意这里面的方法为什么是static,如果我们不用statickeyword,则在外部我们须要去调用getInstance()方法来创建实例,那么就要先new对象。在通过对象.方法名来获取,可是我们的目的就是不能通过new生成多个对象,所以我们就须要加上statickeyword,来完毕,直接通过Singleton.getInstance()创建这个类的唯一实例。
5.static修饰代码块
static代码块独立于成员变量和方法,他不在不论什么一个方法体中,JVM在载入类的时候会运行代码块。假设有多个代码块则按顺序运行。static代码块通经常使用来初始化static变量。须要注意的是,static代码块仅仅会被运行一次!!!
6.static内部类
static内部类是指被修饰为static的内部类。他不依赖于外部类实例对象而被实例化,通常的内部类须要外部类实例化才干实例化。static内部类不能与外部内重名,切且不能訪问外部类的成员变量,仅仅能訪问外部类的static成员变量和static方法包含private类型。
7.问题?
1.什么是实例变量?什么是局部量?什么是类变量?什么是final变量?
2.static final结合表示什么意思?
Java中的statickeyword具体解释的更多相关文章
- Java中的final具体解释以及用途实战
浅析Java中的finalkeyword 谈到finalkeyword,想必非常多人都不陌生.在使用匿名内部类的时候可能会经经常使用到finalkeyword. 另外.Java中的String类就是一 ...
- java中的subString具体解释及应用
substring(參数)是java中截取字符串的一个方法 有两种传參方式 一种是public String substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个 ...
- JAVA中的那些名词解释!
1.JDO: (Java Data Object )是Java对象持久化的新的规范,也是一个用于存取某种数据仓库中的对象的标准化API.作用:用于存取某种数据仓库中的对象 2.JPA: JPA是Jav ...
- java中的上转型解释(多态的另一种)
我们先来看个例子: public class Polymorphism extends BaseClass{ public String book="轻量级j2ee教程"; pub ...
- java中的上下问解释以及ServletContext介绍使用
摘抄的:所谓上下文,它是用来存储系统的一些初始化信息,例如在jboss中通过配置文件指定了数据源,那么在jboss启动的时候就把这个文件的相关信息上下文中,于是在我们使用这个数据源的时候,就需要先获得 ...
- 深入Java核心 Java中多态的实现机制(1)
在疯狂java中,多态是这样解释的: 多态:相同类型的变量,调用同一个方法时,呈现出多中不同的行为特征, 这就是多态. 加上下面的解释:(多态四小类:强制的,重载的,参数的和包含的) 同时, 还用人这 ...
- Java中普通代码块,构造代码块,静态代码块的代码演示样例及区分
//运行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. 当中静态代码块仅仅运行一次.构造代码块在每次创建对象是都会运行. 1 普通代码块 <span ...
- Java中<? extends T>和<? super T>的理解
? 通配符类型 - <? extends T> 表示类型的上界,表示参数化类型的可能是T 或是 T的子类; <? super T> 表示类型下界(Java Core中叫超类型限 ...
- 关于Java的编译执行与解释执行
编程语言分为低级语言和高级语言,机器语言.汇编语言是低级语言,C.C++.java.python等是高级语言. 机器语言是最底层的语言,能够直接执行.而我们编写的源代码是人类语言, 计算机只能识别某些 ...
随机推荐
- Android ListView 单条刷新方法实践及原理解析
对于使用listView配合adapter进行刷新的方法大家都不陌生,先刷新adapter里的数据,然后调用notifydatasetchange通知listView刷新界面. 方法虽然简单,但这里面 ...
- Android 通过广播来异步更新UI
之前的项目里要做一个异步更新UI的功能,可是结果出现了ANR,所以想写个demo来測试究竟是哪个地方出现了问题,结果发现原来的思路是没有问题,郁闷~~ 如今这个demo 就是模拟项目里面 的步骤 1. ...
- [置顶] ARM-Linux下WEB服务器Boa的移植、配置和运行测试
Linux下使用的轻量级WEB服务器主要有:lighttpd.thttpd.shttpd和boa等等,而Boa是使用最为广泛的轻量级WEB服务器之一(当然,阿帕奇是世界使用排名第一的Web服务器软件) ...
- SetWindowLong
SetWindowLong函数介绍 收藏 SetWindowLong函数介绍 SetWindowLong Unicode 函数原型 LONG SetWindowLong(hwnd,nIndex,lNe ...
- 关于WCF在IIS8注册的问题
原文 http://social.microsoft.com/Forums/id-ID/30cf8a24-2719-4c1c-b035-3d186fbfc09c/wcfiis8?forum=wcfzh ...
- css selector: xpath:
css selector: $$(".mainLeft>div>h1") xpath: $x(".mainLeft>div>h1") n ...
- uva 1025
紫皮书 非原创…… 某城市的地铁是线性的有n个车站从左到右编号为1-n,有M1辆地铁从第一站出发,有M2辆车从最后一站出发,mario从第一站出发,目的是在时刻T会见车站n的一个朋友(间谍).在车站等 ...
- HDU4712-----Hamming Distance------超级大水题
本文出自:http://blog.csdn.net/dr5459 题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4712 题目意思: 海明距离:任意两个 ...
- struts2由<s:tree>要么dtree小工具 建立树
一个 .<s:tree>方法: 1.引入新的标签: <%@ taglib prefix="sd" uri="/struts-dojo-tags" ...
- Multiplepack coming~^.^
多重背包: 基本思路: 先来看一个引例:有N种物品和一个容量为V的背包.第i种物品最多有n[i]件可用,每件费用是c[i],价值是w[i].求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量, ...