成员变量和静态变量的区别:
1,两个变量的生命周期不同。
成员变量随着对象的创建而存在,随着对象的被回收而释放。
静态变量随着类的加载而存在,随着类的消失而消失。
2,调用方式不同。
成员变量只能被对象调用。
静态变量可以被对象调用,还可以被类名调用。
3,别名不同。
成员变量也称为实例变量。
静态变量称为类变量。
4,数据存储位置不同。
成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据.
静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据.
七、单列设计模式(饿汉式和懒汉式)
1,两个变量的生命周期不同。
成员变量随着对象的创建而存在,随着对象的被回收而释放。
静态变量随着类的加载而存在,随着类的消失而消失。
2,调用方式不同。
成员变量只能被对象调用。
静态变量可以被对象调用,还可以被类名调用。
3,别名不同。
成员变量也称为实例变量。
静态变量称为类变量。
4,数据存储位置不同。
成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据.
静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据.
七、单列设计模式(饿汉式和懒汉式)
class SingleApp
{
public static void main(String[] args)
{
Single sg1 = Single.made();
Single sg2 = Single.made();
sg1.speak();
sg2.speak();
System.out.println(sg1);
System.out.println(sg1);
}
}
class Single//饿汉式
{
static Single s = new Single();
private Single(){
}
public void speak(){
System.out.println("haoren");
}
public static Single made(){
return s;
}
}
class Single//懒汉式
{
static Single s = null;
private Single(){
}
public void speak(){
System.out.println("haoren");
}
public static Single made(){
if(s==null)
s = new Single();
return s;
}
}
对象数组:
初始化1:
Person[] p = {new Person("haoren1",12),new Person("haoren2",12),new Person("haoren3",12)};
初始化2:
//Person[] p = new Person[3];
//p[0] = new Person("haoren1",12);
//p[1] = new Person("haoren2",12);
//p[2] = new Person("haoren3",12);
for(Person x:p){
x.get();
}