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

JavaSE 学习参考:类的静态成员和静态方法

2017-03-03 20:52 260 查看
   


程序在运行时可能需要一些全局数据,比如远程资源的URL,标识名称,游戏中关卡的总数,当前的关卡,游戏角色的数量,还有一些实用工具用于格化转换,数据验证等。这些数据和功能属于全局概念,无需在运行时动态创建对象来维持这些数据和功能,而在程序在初始化应该为些数据分配空间和初始化。

Java使用static关键字在定义这全局数据和全局部功能的成员,称为静态属性和静态方法,由于Java程序最基本的单位是类,所以这些静态属性和静态方法也定义在类中,但需要注意是这类创建的对象和这些静态成员没有关系,对象并有维持这些成员数据。

既然作为全局成员因些访问也比较方便,访问静态属性直接通过类名.属性名,访问静态方法直接通过类名.静态方法,需要创建对象。当同类中其他成员方法(即非static方法,必须通过创建对象才能访问)和静态方法可以省略类名限定,但外部类访问必须加上类名限定。

静态方法内部除了可操作自身的定义局部变量外,只能访问外部的全局数据static属性。尽管它委身所在类中还定了其他成员变量,但不能访问。

 

import java.text.SimpleDateFormat;

import java.util.Date;

 

class MyTool {

private String str;

public static String PATTERN="yyyy-MM-dd";

public static String format(Date date){

SimpleDateFormat sdf=new SimpleDateFormat(PATTERN);

return sdf.format(date);

}

public void setStr(String str) {

this.str = str;

}

public String getStr() {

return str;

}

public void largeFistLetter(){

String s=str.toLowerCase();

char ch=s.charAt(0);

str=ch+str.substring(1,str.length());

}

 

}

 

public class Demo1 {

public static void main(String[] args) {

 MyTool mt=new MyTool();

 mt.setStr("Hello");

 System.out.println(mt.getStr());

 

 Date now=new Date();

 String str=MyTool.format(now);

 System.out.println(str);

 MyTool.PATTERN="yyyy/MM/dd";

 str=MyTool.format(now);

 System.out.println(str);

}

}

 

程序运行的结果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息