04
2018
11

JAVA学习-static关键字、单例模式

static关键字:

static修饰类变量时,变量称为静态变量(类变量),它不属于任何对象

static修饰类方法时,方法称为静态方法,静态方法中只能使用调用静态方法或静态变量

非静态方法可以调用静态方法或静态变量,静态方法不能调用非静态方法或非静态变量

static静态语句块,在类被加载时执行,且只会执行一次,优先于构造方法的执行

单例模式:

类只有一个实例对象

自己创建对象(外部不能创建)

身外部提供已创建实例


//StaticTest.java

public class StaticTest
{
public static void main(String[]args)
{
Account.number1++;
//静态方法通过类调用(也可以通过对象调用,但一般不使用对象调用,那样没啥意义)
Account.showNumber1();
Account acc=new Account();
//非静态方法只能通过对象调用
acc.showNumber2();
SingleTon singleTon=SingleTon.getInstance();
singleTon.show();
singleTon=SingleTon.getInstance();
singleTon.show();
}
}
//静态变量、静态方法示例
class Account
{
public Account(){
System.out.println("构造方法");
}
public static int number1=1;//静态变量
public int number2=5;
static{//静态语句块
System.out.println("静态语句块");
}
public static void showNumber1(){//静态方法
System.out.println(number1);
}
public void showNumber2(){//普通成员方法
System.out.println(number2);
}
}
//单例类
class SingleTon
{
//private static SingleTon instance=new SingleTon();//饿汉式,开始就产生对象
private static SingleTon instance=null;//懒汉式,调用才产生
public static SingleTon getInstance()
{
if(instance == null) instance=new SingleTon();//懒汉式,调用才产生
return instance;
}
//构造函数私有,外部不能使用new创建类对象
private SingleTon()
{
System.out.println("SingleTon私有构造函数");
}
public void show(){
System.out.println("这里是单例类成员方法");
}
}



执行效果:



版权声明:
作者:真爱无限 出处:http://www.pukuimin.top 本文为博主原创文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接.
« 上一篇下一篇 »

相关文章:

评论列表:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。