第六天笔记

静态修饰符static:

.static修饰成员变量:

  1. static用来修饰成员变量叫静态成员变量,没有static修饰的成员变量叫非静态成员变量
  2. 静态成员的访问方式:

(1)   用对象进行访问:对象名.变量名

(2)   通过类名来访问:类名.变量名;

  1. 使用注意点:

(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文件被使用的时候就执行了.

权限修饰符:

  1. public: 公共的,公开的 权限是最大的,任何在任何情况下都可以调用
  2. private :私有的,权限是最小的 只能自己本类中访问
  3. protected :受保护的。
  4. 主函数为什么这样定义:

(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笔记之静态修饰附和单例设计模式的更多相关文章

  1. JAVA之旅(六)——单例设计模式,继承extends,聚集关系,子父类变量关系,super,覆盖

    JAVA之旅(六)--单例设计模式,继承extends,聚集关系,子父类变量关系,super,覆盖 java也越来越深入了,大家加油吧!咱们一步步来 一.单例设计模式 什么是设计模式? JAVA当中有 ...

  2. Java面向对象 Main函数 静态的应用 单例设计模式

     Java面向对象 Main函数 静态的应用与单例设计模式 知识概要             (1)Main函数的细解 (2)静态的应用,静态变量,静态代码块,静态函数 (3)单例设计模式 1.M ...

  3. Java中反射和Unsafe破坏单例设计模式

    有如下单例模式设计代码: class Singleton { private String info = "HELLO SHIT"; private static Singleto ...

  4. JAVA之旅(十四)——静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制

    JAVA之旅(十四)--静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制 JAVA之旅,一路有你,加油! 一.静态同步函数的锁是clas ...

  5. Java学习笔记——单例设计模式Singleton

    单例设计模式:singleton 解决的问题: 确保程序在运行过程中,某个类的实例instance只有一份. 特点: 1 构造函数私有化 2 自己内部声明自己 3 提供一个public方法,负责实例化 ...

  6. Java笔记(十一)……单例设计模式

    设计模式 解决某一类问题最行之有效的方法 Java中有23中设计模式 单例设计模式 解决一个类在内存中只存在一个对象 思路 将构造函数私有化 在类中创建一个本类对象 提供一个方法可以获取到对象 两种方 ...

  7. Java学习笔记(二十四):单例设计模式singleton

    为什么要使用singleton设计模式? 假设设计了一个操作数组的工具类(Tools),里面有一个锤子的方法(Hammer),如果不使用singleton设计模式,每次想调用Hammer方法都需要ne ...

  8. JAVA笔记5__构造块、静态块/单例设计模式/继承/final关键字/super关键字

    public class Main { { //构造块(在构造对象时调用,先于构造方法执行) System.out.println("我是构造块!"); } static{ //静 ...

  9. 菜鸡的Java笔记 第二十九 - java 单例设计模式

    SingleCase 单例设计模式        1.单例设计模式的特点        2.多例设计模式的特点    内容    单例设计模式        现在如果说有这么一个程序类 class S ...

随机推荐

  1. poj 1759 Garland (二分搜索之其他)

    Description The New Year garland consists of N lamps attached to a common wire that hangs down on th ...

  2. poj 2096 Collecting Bugs(期望 dp 概率 推导 分类讨论)

    Description Ivan is fond of collecting. Unlike other people who collect post stamps, coins or other ...

  3. 关于echo双引号和单引号的问题

    echo ''; 输出的是变量符号和变量名称. echo"";输出的是变量的值. <?php $s="PAP"; echo "my name i ...

  4. Dom4j解析xml格式的字符串【java】

    一般我们会使用dom4j.SAX.w3c来解析xml文件,网上也大多提供此类解决方案. 但在实际项目中,也有会解析xml格式的字符串报文的. 比如,有如下字符串: String = "< ...

  5. 无心插柳OR志在必得?阿里推“来往”的意图

        近年来,阿里巴巴在外围的动作确实不少,投资新浪微博.投资陌陌,配合阿里自身的一些战略调整,让人觉得这家公司似乎正在经历一场前所未有的“蜕变”.其实这也不难理解,在BAT三国演义中,任何一方都不 ...

  6. 域名解析 URL转发

    URL转发 转发功能:如果您没有一台独立的服务器(也就是没有一个独立的IP地址)或者您还有一个域名B,您想访问A域名时访问到B域名的内容,这时您就可以通过URL转发来实现.url转发可以转发到某一个目 ...

  7. Java第一周总结(20160801-20160807)

    day01: 1.常见的dos命令:    盘符:            进入指定的盘下面. 操作文件夹:         dir              列出当前控制台所在的路径下的所有文件以及文 ...

  8. struts2 404处理

    目前在做一个网络应用程序,struts2 + spring + hibernate,服务器是tomcat.希望用户在IE地址栏乱敲的时候,所敲入的所有未定义的URL都能被程序捕捉到,然后转到一个自制的 ...

  9. AC自动机(模板)

    #include <cstdio> #include <cstring> #include <iostream> #include <cstdlib> ...

  10. poj2243 bfs

    O - 上一个题的加强版 Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:65536KB     6 ...