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等是高级语言. 机器语言是最底层的语言,能够直接执行.而我们编写的源代码是人类语言, 计算机只能识别某些 ...
随机推荐
- 几种快速傅里叶变换(FFT)的C++实现
链接:http://blog.csdn.net/zwlforever/archive/2008/03/14/2183049.aspx一篇不错的FFT 文章,收藏一下. DFT的的正变换和反变换分别为( ...
- 两张图解读Java异常与断言
两张图解读Java异常与断言 --转载请注明出处:coder-pig 本节引言: 前天公布的"七张图解析Java多线程&quo ...
- 有关java中的final关键字
在java中,可能使用到final关键字修饰的有数据.方法和类. 一.final 修饰数据 有final修饰的数据是用来告诉编译器一块数据是恒定不变的,有时数据恒定不变是很有用的,比如: 1.一个永不 ...
- ExtJs4 笔记(13) Ext.menu.Menu 菜单、Ext.draw.Component 绘图、Ext.resizer.Resizer 大小变更
本篇讲解菜单.绘图.还有大小变更控件.菜单控件可以附加到各种其他控件中,比如按钮.工具栏等,甚至可以直接通过通过右键打开(模拟右键菜单):ext对绘图的支持可以让我们通过js来绘图:大小变更控件可以让 ...
- Lucene.Net 2.3.1开发介绍 —— 三、索引(六)
原文:Lucene.Net 2.3.1开发介绍 -- 三.索引(六) 2.2 Field的Boost 如果说Document的Boost是一条线,那么Field的Boost则是一个点.怎么理解这个点呢 ...
- 移植一个开源点餐网到SAE平台上
记得以前我准备弄个点餐网的,但是由于一些原因没有做下去. 前几天将网上的一个点餐源码移植到了SAE上,网址http://diancan4sae.sinaapp.com. 我想做个外卖网,先选一个学校周 ...
- STL 二分查找三兄弟(lower_bound(),upper_bound(),binary_search())
一:起因 (1)STL中关于二分查找的函数有三个:lower_bound .upper_bound .binary_search -- 这三个函数都运用于有序区间(当然这也是运用二分查找的前提),以 ...
- cocos2dX 事件之触摸事件和触摸事件集合
今天, 我们来学习cocos2dX里面的触摸事件与触摸事件合集, 如今的手机游戏交互基本上都是通过触摸交互的, 所以大家明确这节的重要性了吧, 本节篇幅比較大, 所以我就不扯闲话了 先来看看经常使用函 ...
- Python语法
- linux下的块设备驱动(二)
上一章主要讲了请求队列的一系列问题.下面主要说一下请求函数.首先来说一下硬盘类块设备的请求函数. 请求函数可以在没有完成请求队列的中的所有请求的情况下就返回,也可以在一个请求都不完成的情况下就返回. ...