第六天笔记

静态修饰符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. php5.3 appache phpstudy win7win8win10下 运行速度慢

    php5.3 appache phpstudy win7win8win10下 运行速度慢 最近在部署服务器以及本地测试的时候发现了一个奇怪的现象,运行PHP程序的时候非常慢,起先以为是网速的原因,后经 ...

  2. python高级编程之超类02:super的缺陷

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #当使用多重继承层次结构时,再使用super的时候是非常危险的,主要 ...

  3. Android应用程序安装过程源代码分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6766010 Android系统在启动的过程中, ...

  4. jquery 底部导航透明度变化

    如果滚动条到达底部,footer-nav 的透明度为1,否则为0.8: html <div class="footer-nav" id="footer"& ...

  5. HTML - EMail链接

    HTML - EMail链接 HTML Email 标签 在标签中,提供一个email地址,你就可以让用户发送邮件,格式是: <a href= "mailto:jack@kingyar ...

  6. 解决ScrollView嵌套ListView和GridView冲突的方法

    本文摘抄自:http://blog.csdn.net/yuhailong626/article/details/20639217 原文地址:http://blog.csdn.net/yuhailong ...

  7. Android Service(下)

    转载请注册出处:http://blog.csdn.net/guolin_blog/article/details/9797169 在上一篇文章中,我们学习了Android Service相关的许多重要 ...

  8. C# socket网络编程 基于TCP协议

    socket 服务器端: 1.创建socket Socket tcpClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ...

  9. String()与toString()区别和应用

    首先,String()和toString()方法都是将其它类型的变量转换为字符串的方法.但两者存在一定的区别: x.toString(): 无法转换null和undefined: 来看下面的小例子: ...

  10. 通过AJAX和PHP,提交JQuery Mobile表单

    File name: callajax.php <?php $firstName = $_POST[firstName]; $lastName = $_POST[lastName]; echo( ...