黑马程序员技术交流社区

标题: 单例中的static [打印本页]

作者: せR3n、何必装纯    时间: 2011-11-24 17:02
标题: 单例中的static
private Son(){}
private static Son son=new Son();
public static Son getInstance(){
   return son;
}
红色部分(static)有什么作用啊?
作者: 清秋    时间: 2011-11-24 17:16
本帖最后由 清秋 于 2011-11-24 17:20 编辑
  1. public static Son getInstance(){
  2.    return son;
  3. }
复制代码
该方法是static。要调用对象son,必须保证son也是静态的。静态成员函数调用的必须是静态成员变量
作者: 常文艺    时间: 2011-11-24 17:23
本帖最后由 常文艺 于 2011-11-24 17:32 编辑

////////////静态变量被调用 必须用静态方法吧  
作者: 程佳佳    时间: 2011-11-24 17:38
单例是这样描述的:客户不能自己通过构造器实例化对象,只能通过类中静态方法返回此对象的静态实例。所以成员变量必须是静态的

作者: 杨玉揆    时间: 2011-11-24 17:48
是为了给下面的static成员函数调用,如果不把他定义成static的是不能这样返回的。
作者: 楓林虹影    时间: 2011-11-24 18:44
Static(静态)方法只能访问 Static修饰的变量,这里的Static是为了让其可以被下边的方法访问。
作者: 李晓斌    时间: 2011-11-24 21:41
Static(静态) 关键字,用于修饰成员(成员变量,成员函数)。静态函数只能访问静态成员(方法和变量),因此对象son如果不是Static静态的话,就不能被该方法调用。而非静态方法既可以访问静态也可以访问非静态。
作者: 刘元霄    时间: 2011-11-25 04:14
静态只能被静态调用, 二私有静态只能被同一个类中调用!
作者: wanghongye    时间: 2011-11-27 18:58
简单地说,就是标记它是一个静态方法,静态成员函数调用的必须是静态成员变量。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2