摘要: 1.数组元素就是变量; 2.在已有数据类型之后加方括号[],就会产生一个新的数组类型; 分两类:1)基本数据类型,如:int[],string[]; 2)引用数据类型,如:Person[](类); 3.main方法声明的变量都是局部变量,保存在栈中; 4.数组元素作为数组对象的一部分,总是保存在堆内 阅读全文
posted @ 2017-06-20 21:04 Fantasy1874 阅读(179) 评论(0) 推荐(0) 编辑
摘要: Java的内存分配上,主要分4个块!一块是用来装代码的,就是编译的东西。一块是用来装静态变量的,例如用static关键字的变量,例如字符串常量。一块是stack,也就是栈,是用来装变量和引用类型的!但区别在于,装了变量以后,变量上是有值的,而引用类型本身在stack上是没有值的。一块是heap,也就 阅读全文
posted @ 2017-06-16 19:43 Fantasy1874 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 当创建任何java对象时,程序总会首先调用系统的父类非静态初始化块(隐式执行)和父类构造器(从object开始(java程序中所有类的最终父类都是java.lang.Object类,使用语句super(),也可以隐式),其次再调用子类的非静态初始化块和子类构造器,执行初始化,最后返回本类的实例。 例 阅读全文
posted @ 2017-06-25 14:36 Fantasy1874 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 有部分代码如下: Cat cat=new Cat("Kitty",2);system.out.println(cat);问题:输出什么? 调用并执行toString()方法,两种情况: 1.若类里有覆写toString()方法时,调用覆写toString()方法; 2.否则调用父类object里面的 阅读全文
posted @ 2017-06-23 09:52 Fantasy1874 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 有代码如下:class Price{ final static Price INSTANCE = NEW Price(2.8); static double initPrice = 20; double currentPrice; public Price(double discount) { cu 阅读全文
posted @ 2017-06-22 17:08 Fantasy1874 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 1.对于实例变量,该类没创建一次实例,就需要为实例变量分配一块内存空间;2.程序通过Person对象来访问eyeNum类变量时,底层依然会转换为通过Person访问eyeNum类变量;3.当Person类初始化完层之后,(静态变量)类变量也随之初始化完成,以后不管程序创建多少个Person对象,系统 阅读全文
posted @ 2017-06-22 16:43 Fantasy1874 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 1.局部变量的作用时间很短暂,都被存储在方法的栈内存中;2.(没使用static)非静态变量=实例变量;(使用static)静态变量=类变量3.成员变量:类体内定义的变量;4.局部变量有三种:1)形参。随方法的结束而消亡;2)方法内的局部变量。随方法的结束而消亡;3)代码块内的局部变量。随代码块的结 阅读全文
posted @ 2017-06-21 08:03 Fantasy1874 阅读(215) 评论(0) 推荐(0) 编辑