static方法是类的方法,不需要创建对象就可以被调用。
static方法中:
1.不能使用this和spuer关键字。
2.不能调用非static方法
3.不能访问非static类的变量
static方法一个很重要的用途是实现单例模式。
package com.wxy;
/**
* 用static实现单例模式:只能有一个实例
* 实现原理:隐藏构造函数,设置为private
* 提供一个创建对象的方法
* 由于构造函数为private,外界无法直接创建该类对象,只能通过该类提供的方法来获取类的对象,如此只能将该方法声明为static
*
* @author delia* @create 2016-04-20 上午11:52*/
class Singleton{
private static Singleton instance = null;private Singleton(){
System.out.println("This is a Singleton instance");}public static Singleton getInstance(){
if (instance == null){instance = new Singleton();}return instance;}}public class TestSingleton {
public static void main(String[] args) {
Singleton ins = Singleton.getInstance();
}}
输出:This is a Singleton instance