随堂笔记160307静态代码块设计模式
来源:互联网 发布:c语言完全手册pdf下载 编辑:程序博客网 时间:2024/06/05 22:35
本节课的内容是静态(static)、代码库、设计模式。
一.static(静态的):
1.定义变量时:
ex:
class Per{ public Static String name; }public class Test{ public static void main(String[] args){ Per p1 = new Per(); p1.name = "AAA"; Per p2 = new Per)(); System.out.println(p2.name); //输出 AAA }}
1.在上例中,因为创建类Per时,将name字段定义为静态的,所以系统在会把静态变量放在静态存储区,而所有对象实例都共享这一个变量,也就是说创建10个Per的对象实例,只要一个实例设置了name字段,其他实例的name字段都会更改。
2.定义方法时:
ex:
class Person{ public static String name; public static void print(){ System.out.println(name); }}public class Test{ public static void main(String[] args){ Person.print(); }}
1.在上例中:
1.定义了静态方法后,静态方法可以直接通过类名来调用,静态方法也叫做类方法。2.一般开发中,常把工具类里的方法定义为类方法,因为这种类不需要创建实例,类方法只会存放一份在代码区,节省了内存空间。3.静态方法只能访问静态方法和静态变量。
二.代码块:
ex:
class Person{ Person(){ System.out.println("这是构造函数"); } { System.out.println("这是代码块"); }} public class Test{ public static void main(String[] args){ Person p1 = new Person(); Person p2 = new Person(); }}/*输出: 这是代码块 这是构造函数 这是代码块 这是构造函数*/
1.通过上例我们可以看出:
1.在类里,普通代码块执行优于构造函数。2.每创建一次对象,就执行一次代码块。
2.静态代码块:
ex:
class Person{ Person(){ System.out.println("这是构造函数"); } static{ System.out.println("这是代码块"); }}public class Test{ static{ System.out.println("这是主类代码块"); } public static void main(String[] args){ Person p1 = new Person(); Person p2 = new Person(); }}/*输出: 这是代码块 这是构造函数 这是构造函数*/
1.通过上例可以看出:
1.静态代码块随着类的加载而执行,无论new多少个实例,只执行一次。2.静态代码块主要用于在代码中只需要执行一次且要在类加载的时候执行,例如链接数据库。
三.单例设计模式:
1.饿汉式:
class Single{ private static Single s = new Single(); //静态属性,为了保证内存中只有一份 private Single(){ //私有化构造函数,防止任意创建对象实例 } public static Single getSingle(){ //静态是为了能通过类名调用该方法 return s; }}
1.上例就是饿汉式,在类加载时就创建了一份对象,但有个缺点,就是如果该对象没有被使用,会浪费内存
2.懒汉式:
class Single{ Single static s; private Single(){ //私有化的构造函数可以防止任何创建该对象实例 } public static Single getSingle(){ if(s == null){ s = new Single(); } return s; }}
1.上例就是懒汉式,跟饿汉式比较,有一个优点就是只有在调用getSingle方法时才会创建对象实例。
0 0
- 随堂笔记160307静态代码块设计模式
- 黑马程序员---静态代码块、单例设计模式
- 静态代码块和单例设计模式
- java、静态代码块、static和单列设计模式
- java笔记-----代码块、单例设计模式、继承
- 黑马程序员---2015.6.14java基础笔记--静态方--静态代码块--单例模式
- 20160717 代码块/静态/工具类设计思想/制作文档/单列设计模式
- 静态代码块及饿汉式单例模式
- 【Java笔记】静态代码块和构造代码块详解
- 构造代码块、构造函数、静态代码块 学习笔记
- 黑马程序员-静态(变量、方法、代码块)和单例设计模式总结
- java_面向对象_02_静态(代码块)_main_单例设计模式
- java学习-通过静态代码块达到的单态设计模式
- java学习日志(九)-- 工具类、静态代码块、单例设计模式
- [javase学习笔记]-8.7 静态代码块
- Java静态代码块学习笔记
- JAVA学习笔记(九)- 初始化块与静态代码块
- java学习笔记5--静态函数与静态代码块
- 向下转型
- 随堂笔记160303String
- 各种排序算法(c)及时间复杂度分析
- Android-使用框架布局管理器居中显示层叠的正方形
- CALayer遮罩效果
- 随堂笔记160307静态代码块设计模式
- Unity3D 5 官方教程:标准着色器之材质参数(二)
- 【hdu2199】Can you solve this equation?——二分
- 使用基于ThinkPHP3.2.3的ThinkAdmin创建手机电脑通用的表白墙(九)后台实现:整体概述
- setWindowFlags(Qt::FramelessWindowHint);使得窗体透明的问题解决
- 第一次C++作业-2
- 随堂笔记160308继承
- Java开发中的23种设计模式详解(转)
- 老罗Handler(22)各种方式发送handler以及发送更多类型数据给主线程