java static关键字的使用】的更多相关文章

提起static关键字,相信大家绝对不会陌生,但是,想要完全说明白,猛的一想,发现自己好像又说不太明白... ...比方说,昨天被一个同学问起的时候... ... 当然,不是所有人都像我一样学艺不精的,但是像这样的基础不牢的人应该不少,因为常用,所以用大家都会,但是谈到精细之处都够呛.这篇博客是我翻出我原来的学习笔记再加上自己看的一些博客整理出来的,供基础知识不怎么牢靠的同学参考参考. 1. static 关键字要解决的问题 这里摘录一下<Java编程思想(第四版)>里关于static关键字的…
方便在没有创建对象的情况下来进行调用(方法/变量). 很显然,被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问. static可以用来修饰类的成员方法.类的成员变量,另外可以编写static代码块来优化程序性能. 1)static方法 static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了.并且由于这个特性,在静态方法…
引言 在<Java编程思想>中有这样一段话:static方法就是没有this的方法.在static方法内部不能调用非静态方法,反过来是可以的.而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法.这实际上正是static方法的主要用途. 这段话虽然只是说明了static方法的特殊之处,但是可以看出static关键字的基本作用,简而言之,一句话来描述就是:方便在没有创建对象的情况下来进行调用(方法/变量). static可以用来修饰类的成员方法.类的成员变量,另外可以编写st…
原文链接点这里,感谢博主分享 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们先来了解一下static关键字及其用法. static关键字 1.修饰成员变量 在我们平时的使用当中,static最常用的功能就是修饰类的属性和方法,让他们成为类的成员属性和方法,我们通常将用static修饰的成员称为类成员或者静态成员,这句话挺起来都点奇怪,其实这是相对于对象的属性和方法…
在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们先来了解一下static关键字及其用法. static关键字 1.修饰成员变量 在我们平时的使用当中,static最常用的功能就是修饰类的属性和方法,让他们成为类的成员属性和方法,我们通常将用static修饰的成员称为类成员或者静态成员,这句话挺起来都点奇怪,其实这是相对于对象的属性和方法来说的.请看下面的例子:(未避…
前言 static关键字算是Java中比较复杂的关键字之一,它可以修饰变量.方法.类以及代码块.下面将介绍static的具体使用. static引入的目的 static的作用 static修饰变量 static修饰方法 static修饰代码块 static修饰内部类 java中的主方法入口:public static void main(String[] args) 引入static的目的 在<Java编程思想>中对static的描述有这样的一句话: static方法就是没有this的方法.在…
static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但在Java语言中没有全局变量的概念. static关键字主要有两种作用: 一.为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关. 二.实现某个方法或属性与类而不是对象关联在一起 具体而言,在Java语言中,static主要有4种使用情况:成员变量.成员方法.代码块.内部类 static成员变量: Java类提供了两种类型的变量:用static关键字修饰的静态变量和不用sta…
上完Java课,虽然也写了不少的Java代码,但是一直有不少的疑惑,而static关键字一直困惑着我很久,今天无意探究竟,上知乎再仔细查了一下,发现了这个话题的优秀答案https://www.zhihu.com/question/36615154 这篇文章彻底把我之前对static的理解概念土崩瓦解,看来我还是低估了设计语言大师的智慧,老以为非静态声明函数会造成实例化多个实例时会造成内存空间的浪费,实际上每个实例里面的函数方法在实例的内存区域中仅仅只有个引用而已,并且此引用指向了该函数方法的内存…
static关键字 代码块 方法重写 1. 方法重写的特点: 2. 注意事项: static关键字 为什么需要学习static关键字? 针对某一个变量属于类而不属于某一个具体的对象的时候,我们可以考虑使用static关键字 static概述: 多个对象共享同一份数据 static的特点: static修饰变量又称为共享变量,类变量,静态变量 静态成员属于某一类的,而不属于某一个具体的对象 3.访问静态成员的方式: a.通过对象访问 不建议 b.通过类名访问 c.通过读写方法访问 4.静态stat…
static关键字    通常来说,创建类的时候,是用new创建此类的对象才可以获得,执行new创建对象时数据存储空间才被分配,其方法才被外界调用    有两种情况用new无法解决:        1)只为某特定域分配单一存储空间,不管创建多少对象        2)希望某个方法不与包含她的类的任何对象实例关联在一起            static初始化:        无论创建多少个对象,静态数据都只占用一份存储区域.static关键字不能用于局部变量,只能作用于域.        如果一…
一.特点 1.随着类的加载而加载2.优先于对象存在3.被类的所有对象共享4.可以通过类名调用 二.调用特征 静态方法: 成员变量:只能访问静态变量 成员方法:只能访问静态成员方法 非静态方法: 成员变量:可以访问静态变量,也可以是非静态变量 成员方法:可以访问静态成员方法,也可以是非静态成员方法 简单记:静态只能访问静态 原因:类优先于对象存在 三.案例分析 package statics; /** * static关键字,案例1 * @author zhongfg * @date 2015-0…
static 修饰符能够与变量.方法一起使用,表示是“静态”的. 静态变量和静态方法能够通过类名来访问,不需要创建一个类的对象来访问该类的静态成员,所以static修饰的成员又称作类变量和类方法.静态变量与实例变量不同,实例变量总是通过对象来访问,因为它们的值在对象和对象之间有所不同. 请看下面的例子: public class Demo { static int i = 10; int j; Demo() { this.j = 20; } public static void main(Str…
static 修饰符能够与变量.方法一起使用,表示是“静态”的. 静态变量和静态方法能够通过类名来访问,不需要创建一个类的对象来访问该类的静态成员,所以static修饰的成员又称作类变量和类方法.静态变量与实例变量不同,实例变量总是通过对象来访问,因为它们的值在对象和对象之间有所不同. 请看下面的例子: public final class Demo { static int i = 10; int j; Demo() { this.j = 20; } public static void ma…
static:意为静态的,简单理解就是公共的.独立于实例变量之外的1.概述:static是Java中常用的关键字,一般用于变量.方法.静态代码块.内部类上.静态导包2.用法: a.用于变量上表示该变量不依附于类的实例对象上,单独存在于静态内存中,通过类名.变量名即可调用,同时更改效果一直存在: b.用于方法上,表示该方法是不依附实例对象上,及时没有实例化对象也可以通过类名.方法调用该方法,一般常见于各种工具类. 但是有几点要注意: 静态方法中只能调用静态变量或者静态方法: 不能通过任何方式调用t…
static 修饰成员函数:(静态函数) 1)静态函数可以用类名和对象进行调用. 2)直接访问静态成员,但不能访问非静态成员变量. 3)非静态函数可以直接访问静态与非静态的成员.(非静态函数只能由对象调用, 当对象存在的时候,静态数据老早就存在了,而非静态数据也随着对象的创建而存在了) 4)静态函数不能出现this或super关键字.(原因:静态函数是可以使用类名调用的, 一旦使用类名调用这时候不存在对象关键字是代表一个函数的调用对象,这时产生冲突.) 静态的数据的生命周期,静态成员变量数据是优…
一.使用static声明属性 1.使用static声明属性,则该属性属于全局变量(有些地方也称静态属性). 2.类的属性调用格式: 类名称.static 属性Preson.country=B城; 二.使用static声明方法 1.使用static声明的方法可以由类名称直接调用. 2.需要注意:非static声明的方法可以调用static声明的属性或方法,由static声明的属性或方法则不定调用非static声明的属性或方法. //直接类名称调用static setCountry方法Preson.…
摘要:static关键字和final关键字是Java语言的核心,深入理解他们的功能非常重要. 本文分享自华为云社区<Java: static关键字与final关键字>,原文作者:唐里 . static关键字和final关键字是Java语言的核心,深入理解他们的功能非常重要. 静态变量 无论你写了一个多大的程序,都会遇到static关键字,像这样,在main()方法里: 简而言之,带有 static 关键字的字段属于类,它们是类方法和变量. 当你在课堂上或者书本上学习面向对象编程时,可能会碰到类…
这篇文章是关于Java static关键字的使用,主要会介绍以下的内容: static 的概念 static的各种应用 总结 static 是什么 static 顾名思义是静态的意思.与this相对,static表示所修饰的部分是属于类本身所有的,不依赖与某个具体的实例. 而this上个博客已经讲了,可参考this的使用.this表示的是对调用方法的那个当前对象的引用,可以看做是类的实例的引用,依赖于具体的实例.所以这也就是<Java编程思想>里面说的 "static方法就是没有th…
转载: http://www.cnblogs.com/dolphin0520/p/3799052.html 一.static关键字的用途 在<Java编程思想>P86页有这样一段话: "static方法就是没有this的方法.在static方法内部不能调用非静态方法,反过来是可以的.而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法.这实际上正是static方法的主要用途." 这段话虽然只是说明了static方法的特殊之处,但是可以看出static关键…
Java中的 static 关键字,确实是一个关键的字(key word),今天就来总结一下它的用法,说说为什么关键. Java中的 static 关键字主要是用来做内存管理的.理解了这句话才能够比较深入地理解static. static 可以修饰: 变量(所谓 class variable) 方法(所谓 class method) 代码块(所谓 block) 内部类(所谓 nested class) 凡是被 static 修饰的这四种元素,都属于class的元素,即类的,而不是类的实例的. 1…
Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题.以下是本文的目录大纲: 一.static关键字的用途 二.static关键字的误区 三.常见的笔试面试题 若有不正之处,希望谅解并欢迎批评指正. 请尊重作者劳动成果,转载请标明原文链接: http://www.cnb…
转自http://www.cnblogs.com/dolphin0520/p/3799052.html 一.static关键字的用途 在<Java编程思想>P86页有这样一段话: “static方法就是没有this的方法.在static方法内部不能调用非静态方法,反过来是可以的.而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法.这实际上正是static方法的主要用途.” 这段话虽然只是说明了static方法的特殊之处,但是可以看出static关键字的基本作用,简而言之,…
1.static概念 static是静态修饰符,什么叫静态修饰符呢?大家都知道,在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在. 这样做有什么意义呢? 在Java程序里面,所有的东西都是对象,而对象的抽象就是类,对于一个类而言,如果要使用他的成员,那么普通情况下必须先实例化对象后,通过对象的引用才能够访问这些成员,但是有种情况例外,就是该成员是用sta…
回顾这两个关键字前,先考虑一个问题: Static变量存储在JVM中的位置,或者说static变量是如何被加载的? JVM会把类的静态方法和静态变量在类加载的过程中读入方法区(Method Area),相当于常驻内存,如果一个方法或者变量声明为static,可以节约内存,不必要为每个对象实例化的时候分配内存. >>final关键字 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.final类不能被继承,没有子类,f…
原文链接:http://www.cnblogs.com/dolphin0520/p/3799052.html Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字, 也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关 于static的考题.以下是本文的目录大纲: 一.static关键字的用途 二.static关键字的误区 三.常见的笔试面试…
1.static关键字 [在二十二讲视频中30分钟开始讲授] 2.static修饰属性:无论一个类生成了多少个对象,所有这些对象共同使用唯一一份静态的成员变量:一个对象对该静态成员变量进行了修改,其他对象的该静态成员变量的值也会随之发生变化.如果一个成员变量是static的,那么我们可以通过类名.成员变量的方式来使用它(java推荐使用这种方式). package com.cl.abstracttest; public class StaticTest { public static void…
一.概述        static 关键字是声明静态变量,静态方法用的.static的含义是属于类且不属于类对象的变量和函数. 二.static的产生.         在创建对象的时候除非用new创建那个类的对象,否则实际上并没有获得任何对象只有当执行new来创建对象时数据存储空间才被分配,其方法才供外界调用.但是有两种情况上述方法时无法解决的 第一种只想为某特定域分配单一存储空间而不去考虑究竟要创建多少对象,甚至不需要创建任何对象. 第二种希望某个方法(变量)不予包含它的类的人很对象关联在…
一.static关键字的用途 可以在没有创建对象的情况下来进行(方法/变量)调用.也就是,被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问. 1,static修饰方法 static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了.并且由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变…
通常来说,当你创建类时,就是在描述那个类的对象的外观与行为.除非你用new创建那个类的对象,否则,你实际上并未获得任何东西.当你用new来创建对象时,数据存储空间才被分配,其方法才供外界调用. 但是有两种情形,用上述方法是无法解决的.一种情形是,你只需要为某特定数据分配一份存储空间,而不去考虑究竟要创建对少个对象,还是甚至根本就不需要创建任何对象.另一种情形是,你希望某个方法不与包含它的类的任何对象关联在一起.也就是说,即使没有创建对象,也能够调用这个方法. 通过static关键字,可以满足这两…
static关键字用处 用于修饰成员变量和成员函数 被修饰后的成员具有以下特点: 随着类的加载而加载 优先于对象存在 被所有对象所共享 可以直接被类名调用 使用注意 静态方法只能访问静态成员:非静态方法也可以访问静态成员 静态方法中不可以写this,super关键字 主函数是静态的 实例变量(成员变量)和类变量(静态变量)的区别 生命周期不同 成员变量随着对象的创建而存在,随着对象的回收而释放: 静态变量随着类的加载而存在随着类的消失而消失 2.   调用方式不同 成员变量只能被对象调用    …