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); } } |
相关文章推荐
- JavaSE 学习参考:类的静态成员和静态方法
- JavaSE 学习参考:方法的重载
- JavaSE 学习参考:方法的重载
- JavaSE 学习参考:方法重写
- C# 静态成员和方法的学习小结
- C#: 静态成员和方法的学习小结
- JavaSE 学习参考:方法的参数
- C# 静态成员和方法的学习小结
- C# 静态成员和方法的学习小结
- c#学习系列之静态类,静态构造函数,静态成员,静态方法(总之各种静态)
- JavaSE 学习参考:方法重写
- JavaSE 学习参考:方法重写
- C# 静态成员和方法的学习小结
- JavaSE 学习参考:成员内部类
- Python的静态方法和类成员方法 分类: python基础学习 2014-08-13 14:21 205人阅读 评论(0) 收藏
- JavaSE 学习参考:构造方法
- C# 静态成员和静态方法 学习笔记
- 学习javaSE 类和对象,方法,构造方法,成员变量与局部变量
- JavaSE 学习参考:子类的构造方法
- JavaSE 学习参考:构造方法