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等是高级语言. 机器语言是最底层的语言,能够直接执行.而我们编写的源代码是人类语言, 计算机只能识别某些 ...
随机推荐
- jquery如何在加载完iframe的内容后才进行下一步操作
为iframe添加onload事件 ie使用attachEvent("onload",function(){}) firefox.chrome使用addEventListener( ...
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
距离上次发布(android高仿系列)今日头条 --新闻阅读器 (二) 相关的内容已经半个月了,最近利用空闲时间,把今日头条客户端完善了下.完善的功能一个一个全部实现后,就放整个源码.开发的进度就是按 ...
- kernel hexdump分析 (2.0)
有的时候print_hex_dump_bytes循环打印很多信息的时候(大于1K) 用UART串口打印的信息总是会有丢失,估计是printk缓冲区的问题把,具体原因不是太清楚 于是自己写了个比较笨的d ...
- 在springmvc中配置jedis(转)
主要学习https://github.com/thinkgem/jeesite.一下代码均参考于此并稍作修改. 1.jedis 首先,需要添加jedis: <!--jedis--> < ...
- POJ 1330 Nearest Common Ancestors(Tarjan离线LCA)
Description A rooted tree is a well-known data structure in computer science and engineering. An exa ...
- [置顶] 关于redhat系统yum源的配置1
安装过Linux软件的用户就知道,有时我们安装一个软件,需要依赖其他软件,所以必需找全所有的软件,这是一个极其麻烦的事情,有没什么方式可以让它自己去找依赖呢? 答案当然是肯定,这就需要我们配置一个神器 ...
- HttpSession具体解释
session的机制 http是无状态的协议,客户每次读取web页面时,server都打开新的会话,并且server也不会自己主动维护客户的上下文信息,那么要怎么才干实现会话跟踪呢?session就是 ...
- C/C++中constkeyword
今天在做一个趋势笔试题的时候.才让我有了系统把constkeyword好好总结一下的冲动,由于这个关键词大大小小好多地方都出现过,出现频率很高,而每次仅仅是简短的把答案看了一下,没有真正将其整个使用方 ...
- xcode5下一个ffmpeg静态库配置
1.若要安装xcode命令行工具 1).xcode5安装命令行工具方法: 在终端运行命令Using xcode-select --install 2).xcode5之前安装命令行工具方法: 2.xco ...
- hdu 4284 Travel(floyd + TSP)
虽然题中有n<=100个点,但实际上你必须走过的点只有H<=15个.而且经过任意点但不消耗C[i]跟D[i]可以为无限次,所以可以floyd预处理出H个点的最短路,之后剩下的...就成了裸 ...