static关键字
来源:互联网 发布:乐视电视mac码可以干嘛 编辑:程序博客网 时间:2024/05/16 16:23
static(静态的)可以用来修饰类的成员方法、类的成员变量,另外可以编写static代码块来优化程序性能。
Static修饰方法
静态方法不依赖任何对象就可以访问,所以对静态方法来说是没有this关键字的。
静态方法不能访问非静态方法和非静态成员,而非静态方法和非静态成员可以访问静态方法。
类的构造器实际上也是静态方法。
Static修饰变量
static修饰的变量为静态变量,静态变量被所有对象共享,只有一个副本;非静态变量是对象所拥有,创建对象时被初始化,可存在多个副本,副本间不受影响。
成员变量静态变量生命周期随对象产生和销毁随类的加载产生调用方式通过对象调用 通过类或者对象调用别名实例变量类变量数据存储位置堆方法区static代码块
可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。
单例设计模式
特性:多个程序使用同一配置信息对象时,保证对象的唯一性。
不允许其他程序用new创建对象;在该类创建一个本类实例;对外提供一个方法使其他程序可以获取该对象。
用法:1、私有化该类构造函数
2、通过new在本类创建一个本类对象
3、定义一个公有方法将创建对象返回
不使用单例设计模式:
class Demo4{public static void main(String[] args){Single s1=new Single();s1.setAge(22);Single s2=new Single();System.out.println(s1.getAge());System.out.println(s2.getAge());}}class Single{private int age=20;public void setAge(int age){this.age=age;}public int getAge(){return age;}}输出
2220
使用单例设计模式后
class Demo4{public static void main(String[] args){Single s1=Single.getInstance();s1.setAge(22);;System.out.println(s1.getAge());Single s2=Single.getInstance();System.out.println(s2.getAge());}}class Single{private int age=20;private Single(){}private static Single s=new Single();public static Single getInstance(){return s;}public void setAge(int age){this.age=age;}public int getAge(){return age;}}输出
2222
阅读全文
1 0
- static关键字
- static关键字
- 关键字STATIC
- 关键字STATIC
- static关键字
- static 关键字
- static关键字
- static关键字
- static关键字
- static关键字
- static 关键字
- Static 关键字
- static关键字
- Static关键字
- static关键字
- static关键字
- static关键字
- 关键字:static
- iOS开发—使用GCD实现多线程开发—调度队列组
- js Array对象的常用方法总结
- [C++]_[获取Utf8字符串的字符个数和子字符串]
- jQuery的基础知识讲解(使用到的90%)
- Linus 的一些常用指令
- static关键字
- java cmd package
- C#---部分类、密封类
- Realistic Skin Rendering
- 关于淘淘商城内容分类管理的删除
- 各种 string 的前缀编码方式
- Spring实现原理分析(二十四).Spring Boot实现原理分析
- 泛型和容器三
- java 反射机制 之 getConstructor获取有参数构造函数 然后newInstance执行有参数的构造函数