笔记8提到了类静态成员变量的访问方式,但静态成员变量存储在哪里呢?在网上查阅不少资料,发现好多内容都是过时的了,其中主流观点是静态成员变量存放在方法区.JDK8之前,静态成员变量确实存放在方法区:但JDK8之后就取消了"永久代",取而代之的是"元空间",永久代中的数据也进行了迁移,静态成员变量迁移到了堆中(方法区是JVM的规范,永久代是方法区的具体实现). 作者: 蝉蝉 请尊重作者劳动成果,转载请在标题注明"转载"字样,并标明原文链接: http…
(注:静态变量修改为静态成员变量,静态方法改为静态成员方法) 静态成员变量又称类变量,静态成员方法又称类方法,它们统称为静态成员或类成员.静态成员由static修饰,是属于整个类的,所有的对象共享这些静态成员.不需要创建任何对象,静态成员在类装载时就已初始化了,整个运行期间其内存位置不变,直到类卸载.鉴于静态成员的这些特性,访问静态成员变量以及定义或调用静态成员方法时与非静态成员也有不同之处.下面分别做出说明. 1.静态成员变量 类的非静态成员方法.静态成员方法都可以直接访问静态成员变量 其他类…
Java学习笔记之---类和对象 (一)类 类是一个模板,它描述一类对象的行为和状态  例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭 public class Dog { String name; String color; public void eat(){ System.out.println("吃饭"); } } (二)对象 对象是类的一个实例,有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字:行为有:吃饭等 1.创建对象: 声明:声明一个对象,…
Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图片 文件和文件夹 相关函数  (boolean) mkdir() 创建此抽象路径名指定的目录  (boolean) mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录.  (boolean) delete() 删除此抽象路径名表示的文件或目录  (boolean) creat…
英语里final这个单词大家都知道是"最终的"意思,其实还有一个意思是"不可更改的".在Java里,final关键字作"不可更改的"来解释更合适,即由final修饰的东西是"不可更改的".final可以修饰变量.成员方法和类,还可以修饰方法的参数,但参数归根结底还是变量.下面是详细解释. 作者: 蝉蝉 请尊重作者劳动成果,转载请在标题注明"转载"字样,并标明原文链接: http://www.cnblogs.…
一.类和对象的概念 类 >>具有相同属性和行为的一类实体 对象 >>实物存在的实体.通常会将对象划分为两个部分,即静态部分和动态部分.静态部分指的是不能动的部分,被称为属性,任何对象都会具备其自身的属性:动态部分指的是对象的行为 类实质上就是封装对象属性和行为的载体,而对象是类实例化出的一个实例 二.面向对象的三大特性 封装 >>将对象的属性和行为进行包装,隐藏其实现细节,称为封装 >>采用封装的思想保证了类内部数据结构的完整性,应用该类的用户不能轻易的直接…
当创建一个对象时,各种成员变量及构造方法的初始化或调用顺序是怎样的呢? (1).如果类尚未加载,则先初始化静态成员变量和静态代码块,再初始化成员变量,最后调用相应的构造方法: (2).如果类已经加载过了,则静态成员变量已经初始过了,静态代码块也已执行,这时只需初始化成员变量,再调用构造方法就可以了: (3).如果类还有父类,则按(1)或(2)的顺序先初始化父类,再初始化子类. 下面以例子详细说明. 包human中定义了四个类,分别为Person.Student.DustMan.TestMain:…
本文内容: 注释 变量的声明和定义 成员变量和局部变量 首发时间:2018-03-16 15:59 注释: 单行注释:// 多行注释:/* - */ 变量: 变量是内存中的一个存储区域,变量的定义就是给每一个变量名定义一个内存区域 JAVA中定义变量的格式为: 数据类型 变量名=初始化值,比如 变量可以先声明再定义,也可以声明并定义. 同类的变量可以一起声明,一起定义. 变量的使用要注意: 1.变量的作用范围 2.初始化值 补充: 成员变量与局部变量[这是一个涉及后面内容的补充]: 方法.if等…
1.变量类型: a.定义: 和C++差不多,就是: type identifier [ = value][, identifier [= value] ...]: type为Java数据类型.identifier是变量名.可以使用逗号隔开来声明多个同类型变量.可以声明但不赋值. b.类变量(静态变量)static variable: 独立于方法之外的变量,用 static 修饰. 无论一个类创建了多少个对象,类只拥有类变量的一份拷贝. 静态变量在第一次被访问时创建,在程序结束时销毁.与实例变量具…
静态成员:在说明前加了static关键字的对象 使用例: 基本概念 普通成员变量每个对象有各自的一份,而静态成员变量总共只有一份,为所有对象共享. 普通成员函数必须具体作用与某个对象,而静态成员函数并不具体作用与某个对象 如何访问静态成员 静态成员变量本质上是全局变量,哪怕一个对象都不存在,类的静态成员变量也存在 静态成员函数本质上是全局函数 设置静态成员这种机制的目的是将和某些类紧密相关的全局变量和函数写到类里面,看上去更像一个整体,易于维护和理解 注…