摘要:
static――静态――“指定位置“首先,我们来看看java的内存:java把内存分为栈内存和堆内存,栈内存用来存放一些基本类型的变量和数组及对象的引用变量,而堆内存主要是来放置对象的。用static的修饰的变量和方法,实际上是指定了这些变量和方法在内存中的“固定位置”-staticstorage。既然要有“固定位置”那么他们的“大小”似乎就是固定的了,有了固定位置和固定大小的特征了,在栈中或堆中开辟空间那就是非常的方便了。如果静态的变量或方法在不出其作用域的情况下,其引用句柄是不会发生改变的。static变量有点类似于C中的全局变量的概念;静态表示的是内存的共享,就是它的每一个实例都指向同一 阅读全文
摘要:
Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final 使用总结”一文中给出了明确解释。并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。packagetest;publicclassThisTest {privateinti=0;//第一个构造器:有一个int型形参ThisTest(inti){this.i=i+1;//此时thi 阅读全文
摘要:
A.==可用于基本类型和引用类型:当用于基本类型时候,是比较值是否相同;当用于引用类型的时候,是比较对象是否相同。B.对于String a = “a”; Integer b = 1;这种类型的特有对象创建方式,==的时候值是相同的。C.基本类型没有equals方法,equals只比较值(对象中的内容)是否相同(相同返回true)。D.一个类如果没有定义equals方法,它将默认继承Object中的equals方法,返回值与==方法相同。详述:①==和equals的实质。在JAVA中利用"=="比较变量时,系统使用变量在"栈"中所存的值作为比较的依据。基本 阅读全文