java笔记之静态修饰附和单例设计模式
第六天笔记
静态修饰符static:
一.static修饰成员变量:
- static用来修饰成员变量叫静态成员变量,没有static修饰的成员变量叫非静态成员变量
- 静态成员的访问方式:
(1) 用对象进行访问:对象名.变量名
(2) 通过类名来访问:类名.变量名;
- 使用注意点:
(1) 只有需要数据共享才需要用static修饰
//公有属性
String name;
//这个变量就变成了一个共享数据 ,单独存放在一个地方
static String country;//变量只会初始化一次。在内存中值存在一个。
(2) 只有静态变量才能用类名调用,非静态变量只能通过对象调用
(3) 局部变量不允许被static修饰
二.Static用来修饰方法
1.访问方式:
(1) 用对象进行访问:对象名.方法名
(2)通过类名来访问:类名.方法名; 推荐使用
public static void eat (){
System.out.println(country+"正在吃饭");
}
2.使用注意点:
(1)静态方法可以用对象和类名调用.非静态方法只能用对象来调用.
(2)静态方法是可以访问静态的成员变量,不能够访问非静态的成员变量, 非静态方法中可以访问任何成员变量。
原因:有可能静态方法被调用了,但是对象还没有被创建出来。
(3)静态方法可以直接访问静态方法,但是不能访问非静态方法.非静态方法是可以访问静态方法。
原因:有可能静态方法被调用了,但是对象还没有被创建出来。
(4) 静态方法中是不允许出现this关键字和super关键字
3. 什么情况下使用static来修饰方法:
当一个方法不需要直接访问非静态数据,这个时候就可以用static修饰 (定义工具类)
4.特点 : 静态的数据早于非静态的数据存在内存中。
三.静态代码块:
编译的java.class文件被使用的时候就执行了.
权限修饰符:
- public: 公共的,公开的 权限是最大的,任何在任何情况下都可以调用
- private :私有的,权限是最小的 只能自己本类中访问
- protected :受保护的。
- 主函数为什么这样定义:
(1) 为什么用public: main主方法是由jvm来调用的,jvm实际也是一个程序,为了保证jvm能够在任何情况下来调用主函数。
(2) Static: 如果没有static 这个时候调用主方法就需要通过对象来调用,jvm如果创建对象不知道该传递什么参数 所以为例避免麻烦,就将方法定义成静态的,这个时候就不需要考虑对象,直接类名调用就可以了。
(3) Void: main是由jvm调用,返回值是给jvm ,jvm接收返回值没有任何意义,所以就不需要返回值。
(4) Main: 不是关键字,main以及约定好这个就叫入口
(5) Args: 用来接收程序运行时传递进来的参数。
单例设计模式:
1.单例设计模式 : 一个类只能够创建一个对象出来.
2.单例的设置步骤:
(1)创建一个对象把他设置为私有的静态成员变量,保证对象唯一
private static 类名 对象名 = new 类名();
(2)把构造方法设置为私有的,防止new一个对象。
private 类名(){}
(3) 定义一个公 开的静态方法,返回值为上面的对象。
public static 返回值类型 getInstance (){
return 对象名;
}
3.2种单例模式:饿汉单例模式和懒汉单例模式.
java笔记之静态修饰附和单例设计模式的更多相关文章
- JAVA之旅(六)——单例设计模式,继承extends,聚集关系,子父类变量关系,super,覆盖
JAVA之旅(六)--单例设计模式,继承extends,聚集关系,子父类变量关系,super,覆盖 java也越来越深入了,大家加油吧!咱们一步步来 一.单例设计模式 什么是设计模式? JAVA当中有 ...
- Java面向对象 Main函数 静态的应用 单例设计模式
Java面向对象 Main函数 静态的应用与单例设计模式 知识概要 (1)Main函数的细解 (2)静态的应用,静态变量,静态代码块,静态函数 (3)单例设计模式 1.M ...
- Java中反射和Unsafe破坏单例设计模式
有如下单例模式设计代码: class Singleton { private String info = "HELLO SHIT"; private static Singleto ...
- JAVA之旅(十四)——静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制
JAVA之旅(十四)--静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制 JAVA之旅,一路有你,加油! 一.静态同步函数的锁是clas ...
- Java学习笔记——单例设计模式Singleton
单例设计模式:singleton 解决的问题: 确保程序在运行过程中,某个类的实例instance只有一份. 特点: 1 构造函数私有化 2 自己内部声明自己 3 提供一个public方法,负责实例化 ...
- Java笔记(十一)……单例设计模式
设计模式 解决某一类问题最行之有效的方法 Java中有23中设计模式 单例设计模式 解决一个类在内存中只存在一个对象 思路 将构造函数私有化 在类中创建一个本类对象 提供一个方法可以获取到对象 两种方 ...
- Java学习笔记(二十四):单例设计模式singleton
为什么要使用singleton设计模式? 假设设计了一个操作数组的工具类(Tools),里面有一个锤子的方法(Hammer),如果不使用singleton设计模式,每次想调用Hammer方法都需要ne ...
- JAVA笔记5__构造块、静态块/单例设计模式/继承/final关键字/super关键字
public class Main { { //构造块(在构造对象时调用,先于构造方法执行) System.out.println("我是构造块!"); } static{ //静 ...
- 菜鸡的Java笔记 第二十九 - java 单例设计模式
SingleCase 单例设计模式 1.单例设计模式的特点 2.多例设计模式的特点 内容 单例设计模式 现在如果说有这么一个程序类 class S ...
随机推荐
- Android窗口管理服务WindowManagerService对窗口的组织方式分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8498908 我们知道,在Android系统中, ...
- last与lastlog命令
lastlog 列出所有用户最后登录的时间和登录终端的地址,如果此用户从来没有登录,则显示:**Never logged in**last 列出用户所有的登录时间和登录终端的地址
- 测试MD5的加密功能
测试md5主要用于数据库加密.图片修改为RAR格式有源程序.
- 面试前的准备---C#知识点回顾----04
播下的种子,慢慢开始发芽收获了,陆陆续续offer就来了,该轮到我挑的时候了 今天面试的一家公司,技术问的相对宽广和细致,程度令人发指 1.谈谈ViewState 这个问题,回答的好,工资翻一级 基本 ...
- Cisco cmd命令(三)动态路由协议
路由选择协议:1.矢量距离协议 2.链路状态协议 RIP路由选择协议:1.使用矢量距离协议 2.RIPv1只能使用有类路由 3.RIPv2可以使用无类路由 路由更新定时器:用于将路由器本身完整的路由选 ...
- [转]CENTOS6 VNCSERVER安装
标签:vncservercentos6.0 ssh隧道 vncviewer centos 休闲 职场 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律 ...
- sketchup 导出 fbx文件 单位 错误
最近在使用sketchup导出fbx文件到unity中使用时,发生了尺度单位上的错误.按照网上给出的标准教程,选定模型的单位为十进制-米.导出时选项选择'米',但是得到的fbx文件在unity中出现了 ...
- UVALive3516Exploring Pyramids(dp)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud 题目意思:有一棵多叉树,每个结点的子节点有左右之分(即要按照顺序查找),从跟结点开 ...
- Eclipse控制台显示Tomcat日志
今天看一篇学习Struts的博文,文章里面提到从生成的日志,结果,怎么鼓捣都看不到.心情也跟着烦躁了.于是晚饭后出去散步,冷静一下,然后决定晚上一定搞掂这个问题.这不,搞掂了,写篇博文记录一下. St ...
- Objective-C中的property
property可以被声明的位置 property可以在类的interface section和class extension以及protocol中被声明 property的可见性 Objective ...