Java学习笔记【静态域与静态方法】
2015-09-24 15:15
274 查看
1、静态域
如果将域定义为static,每个类中只有一个这样的域。
假定为“难免有错”设定雇员标识码:
2、静态常量
示例:
可以采用Math.PI的形式获得这个常量。
若省略static,PI就变成了Math的一个实例域。需要通过Math类的对象访问PI,并且每个Math对象都有它自己的一份PI拷贝。
3、静态方法
静态方法是一种不能对对象实施操作的方法。例如,Math类的pow方法就是一个静态方法。
表达式:Math.pow(x,a) 计算x的a次方。运算时不使用任何Math对象,即无隐式参数。
可以认为静态方法是没有this参数的方法。
因为静态对象不能操作对象,所以不能在静态方法中访问实例域。但是,静态方法可以访问自身类中的静态域。
使用静态方法的实例:
在下面两种情况下使用静态方法:
I、一个方法不需要访问对象状态,其所需的参数都是通过显式参数提供。
II、一个方法只需要访问类的静态域。
4、工厂方法
静态方法还有一种常见的用途。NumberFormat类使用工厂方法产生不同风格的格式对象。
5、main方法
1、静态域
如果将域定义为static,每个类中只有一个这样的域。
class Employee { private static int nextId = 1; private int id; ... } //现在,每一个雇员对象都有一个自己的id域,但这个类的所有实例将共享一个nextId域。 public void setId() { id = nextId; nextId++; }
假定为“难免有错”设定雇员标识码:
难免有错.setId(); //“难免有错”的id域被设置为静态域nextId当前的值,并且静态域nextId的值加1: 难免有错.id = Employee.nextId; Employee.nextId++;
2、静态常量
示例:
public class Math { ... public static final double PI = 3.14159265358979323846; ... }
可以采用Math.PI的形式获得这个常量。
若省略static,PI就变成了Math的一个实例域。需要通过Math类的对象访问PI,并且每个Math对象都有它自己的一份PI拷贝。
3、静态方法
静态方法是一种不能对对象实施操作的方法。例如,Math类的pow方法就是一个静态方法。
表达式:Math.pow(x,a) 计算x的a次方。运算时不使用任何Math对象,即无隐式参数。
可以认为静态方法是没有this参数的方法。
因为静态对象不能操作对象,所以不能在静态方法中访问实例域。但是,静态方法可以访问自身类中的静态域。
使用静态方法的实例:
public class Employee { public static int getNextId() { return nextId; //returns static field } } //通过类名调用这个方法: int n = Employee.getNextId();
在下面两种情况下使用静态方法:
I、一个方法不需要访问对象状态,其所需的参数都是通过显式参数提供。
II、一个方法只需要访问类的静态域。
4、工厂方法
静态方法还有一种常见的用途。NumberFormat类使用工厂方法产生不同风格的格式对象。
5、main方法
public class App { public static void main(String[] args) { .... } }main方法不对任何对象进行操作。同理,main方法也是一个静态方法。
相关文章推荐
- java 日期格式转换,加减等
- 使用Eclipse构建Maven的SpringMVC项目
- SSM框架搭建简单实例
- SpringMVC笔记——SSM框架搭建简单实例
- Java技术积累——AOP思想之Filter的使用
- Spring MVC 4.1.3 + MyBatis 零基础搭建Web开发框架(注解模式哦)
- struts2 文件下载
- Spring jdbc call oralce procedure or function
- java装箱和拆箱已及"=="与"equals"的区别
- spring上传文件
- J2ee开发环境搭建之(一)JDK
- struts2 文件上传 三种方式
- java测试运行时间
- java学习3-冒泡排序对数组进行排序
- Spring实现数据库读写分离
- Java HashMap工作原理
- struts2前台页面传值到action的三种方式
- eclipse集成jetty开发web项目(不采用maven方式)
- java file类实现List生成本地文件与续写本地文件
- JAVA实现AES加密