您的位置:首页 > 编程语言 > Java开发

java基础3--面向对象(上)(static关键字与main方法)

2011-01-16 20:55 441 查看
*用static声明属性

static 关键字用于声明属性时,该属性成为 静态属性(也叫公共属性,此属性为所有对象所共有),如果有些属性希望被所有对象共享,则必须将其声明为static 属性。

为什么在一旦使用了static关键字声明属性之后,则会为所有的对象共享?

可以从内存的使用 来理解,JAVA中常用的内存区域有以下几个:

*栈内存空间:保存所有的对象名称(实质上是保存了引用空间的堆内存空间地址

*堆内存空间:保存每个对象的具体属性内容。

*全局数据区:保存static类型的属性。

*全局代码区:保存所有的方法定义。

static声明的属性保存在全局数据区中,所以可以为该类的所有成员所共享。

*用static声明方法

用static声明 的方法,也可以称为类方法,可以由类名称直接调用。如果定义了一个Person类,那么使用static 声明的方法,可以使用Person.方法名()来直接调用。

注意:

*非static的方法或属性可以调用static方法,但static方法 是不能调用 非static声明的属性或者方法的。

*static 的相关应用

我现在知道的相关应用只有两个,希望在以后学习更多的相关应用:

*使用static关键字,可以统计一个类到产生了多少个实例化对象。因为 只要有一个实例化对象产生,则一定会调用其中的构造方法,我们在构造方法将 一个使用static声明的属性进行自增,这样就能够计算书一个类到底有多少个实例化对象产生了。

例:

class Demo{

private static int count =0;

public Demo(){

count++;

System.out.println("产生了"+count+"个对象!");

}

public static void main(String[] args){

new Demo();

new Demo();

new Demo();

}

}

*static 在单态设计模式中的应用

设计模式就是前人经过在实际开发中的探索和研究,总结出来的一套行之有效的程序设计方法。通过借鉴这些有用的成功的设计模式,可以大大减少自己研究和思考的时间,并学习到前人思想的精髓和要点。

*单态设计模式:

单太设计模式就是:采取一定的方法在整个软件系统中,在某个类只能存在一个实例化对象,并且该类中只提供一个取得该对象实例的方法。如果要一个类在JVM中只产生一个实例化对象,那么就要使用 private 声明构造方法,使其不能在类的外部用 new 进行实例化。但在类内部 仍然可以产生该类的对象。

在此时,类的外部无法创建对象,也无法调用类内部的对象,所以需要一个静态的方法来返回这个创建好的对象。由于静态的方法只能访问静态的属性,所以该对象的属性也必须声明为static属性。

应用例子:

class Chinese{
static Chinese objRef = new Chinese(); //创建的对象声明为static,只会创建一次。

private static int count = 0;
String name;
int age;

private Chinese(){ //封装了构造方法,使得在类外部不能创建对象
System.out.println(++count);
}

public static Chinese getInstance(){ //利用静态方法返回一个对象
return objRef;
}
}

class TestChinese{
public static void main(String[] args){
Chinese obj1 = Chinese.getInstance();
Chinese obj2 = Chinese.getInstance();
System.out.println(obj1==obj2); //虽然类外部创建了2对象,但2个对象的引用地址
//完全相等,就是说他们其实是一个对象。
}
}

*理解main方法

在public static void main(String args){}

中 *public表示此方法为公共的,让编译器可以调用

*由于main方法是程序的起点,必须声明为静态方法,以便使用类名直接调用

*void 表示此方法没有返回值

*main是主方法的名字,没有为什么,就是要那么写,就是JAVA给主方法取名为main。

*(String[] args)就是主方法接收的参数列表 为String类型,参数之间用空格间隔。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐