static (静态修饰符)
    
    1.修饰成员变量
        静态变量的访问方式:
            方式一 : 通过对象访问。
                对象.变量名
            方式二: 同过类名
                类.变量名
        
        静态变量的使用注意点 :
            局部变量不允许被static修饰。
            用static修饰的变量式放在共享区的,所以千万不要为了方便就将所有的静态变量都定义为成员变量。

        静态变量和非静态变量的区别:
            1.作用上来看 :
                1.静态变量使用来共享的,所有的对象都可以访问到。
                2.非静态变量就是用来描述同一类事物的公共属性。
            2.数量和存储位置:
                1.静态变量存在方法区(数据共享区),并且只有一份数据。
                2.非静态变量存在堆区中,对象有n个,数据就有n个。
            3.生命周期:
                1.静态变量是在随着类文件的加而加载,随着类文件消失而消失。
                2.非静态变量是随着对象创建而创建,随着对象的消失而消失。

    2.修饰方法
        
        静态变量的修饰的方法也有两种访问方式: 和OC中的类方法有点类似
            
            1.对象来访问:
                对象.方法名();

            2.类来访问:
                类.方法名();

        注意事项:
            1.静态方法访问静态的成员变量,不能访问非静态的成员变量。
                原因: 静态方法被访问了,非静态的成员变量还没有被创建。
            2.静态方法是可以直接访问静态方法,不能够访问非静态的方法。
                原因:同上。
            3.静态方法中不允许出现this和super关键字。

    ---------------------main 主方法为什么这么定义--------------------
        public :让jvm能够在任何情况下都可以调用。
        void   : jvm拿到返回值没有意义。
        static : jvm不知道该创建什么样的对象出来,所以干脆就不创建了。
        main   :不是关键字。 只是约定将这个作为入口方法的名。
        args   : 接收程序运行是传递的参数。

    --------------------单利的设计模式-----------------------

    1.饿汉单利设计模式:
        步骤 :
            1.定义一个私有的静态成员变量来引用对象(私有的静态对象),设置对象唯一。
            2.私有化构造方法,防止new对象。
            3.创建一个公开的静态方法,返回上面的对象。

    2.懒汉单利设计模式 : 要用的才创建对象        
            1.定义一个私有的静态成员变量,不要赋值。
            2.私有化构造方法,防止new对象。
            3.创建一个公开的静态方法,判断是否存在对象,如果不存在就创建一个,如果存在就直接返回。

    ---------------------面向对象三大特征之一 : 封装--------------------------
        封装的步骤:
            1.用private来修饰成员变量。
            2.设置一个公共的方法来设置或者访问私有的成员变量。
                命名规范:
                    set属性名();
                    get属性名();
        封装不一定需要提供set和get方法, 根据需求来定的。
        规范 :在实际开发中实体类的成员变量,都需要封装起来。

        封装用处:
            框架,工具类。
        封装的好处:
            1.提高了数据的安全性
            2.操做简单
            3.隐藏方法的实现。

Javase部分回顾(static (静态修饰符),修饰方法,单利的设计模式, 封装)的更多相关文章

  1. .NET C#基础(2):方法修饰符 - 给方法叠buff

    0. 文章目的   本文面向有一定.NET C#基础知识的学习者,介绍C#中的方法修饰符的含义和使用以及注意事项.   1. 阅读基础   理解C#基本语法(如方法声明)   理解OOP基本概念(如多 ...

  2. java中的类修饰符、成员变量修饰符、方法修饰符。

    类修饰符: public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类. abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现. fin ...

  3. Swift lazy 修饰符和方法

    LAZY 修饰符和 LAZY 方法 由 王巍 (@ONEVCAT) 发布于 2015/10/07 延时加载或者说延时初始化是很常用的优化方法,在构建和生成新的对象的时候,内存分配会在运行时耗费不少时间 ...

  4. java中的类修饰符、成员变量修饰符、方法修饰符

    类修饰符:  public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类. abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现. fi ...

  5. 在使用 interface 声明一个接口时,只可以使用那个修饰符修饰该接口?

    这是一个看似简单其实挺有深意的题目,答案应该大多数人都知道是什么,不过原理和原因相比很少有人仔细研究过.对于本题,我有三点说明,希望看到这个评论的人能从这三点中看到你以前没注意到的东西:  ①接口的声 ...

  6. JDK8以后接口是可以定义实现方法,必须需要default修饰符修饰

    package com.company.java.oop.cls; interface IB { default void doMethod1() { System.out.println(" ...

  7. 面向对象static静态的属性和方法的调用

    <?php header("content-type:text/html;charset=utf-8"); class Human{ static public $name ...

  8. php中static静态关键字的使用方法和应用场景

    php中除了常规类和方法的使用,访问控制之外,还有静态关键字static,静态变量可以是局部变量也可以是全局变量,当一个程序段执行完毕时,静态变量并没有消失,它依然存在于内存中,下次在定义时还是以前的 ...

  9. php中static静态变量的使用方法详解

    php中的变量作用范围的另一个重要特性就是静态变量(static 变量).静态变量仅在局部函数域中存在且只被初始化一次,当程序执行离开此作用域时,其值不会消失,会使用上次执行的结果.     看看下面 ...

  10. java final .static修饰符

    static静态修饰符(使用static修饰符修饰的成员变量.常量.和成员方法成为静态变量.常量和方法,他们统称为静态成员,归整个类所有,不依赖于类的特定实例,被类的所有实例共享,只要这个类被加载,J ...

随机推荐

  1. 关于mybatis一对多关联时

    一对多关联时注:collection标签,property属性名称,column参数字段, ofType查询返回类型,select查询方法,javaType方法的返回类型

  2. android自定义按键

    android自带菜单键.返回键.搜索键的重写 转自:http://blog.sina.com.cn/s/blog_7cb9b3b801015yk8.html   返回键 public void on ...

  3. JAVAWEB学习总结 SERVLET开发(二)

    一.ServletConfig对象 1.1.配置servlet初始化参数 在servlet的配置文件中web.xml中,可以使用一个或多个<init-param>标签为servlet配置一 ...

  4. [转]PYTHON-SCRAPY-WINDOWS下的安装笔记

    分类: Crawler.Net Python2014-05-15 13:36 127人阅读 评论(0) 收藏 举报 PYTHON SCRAPY 1.安装PYTHON2.7.6,下载地址:https:/ ...

  5. 关于Webstorm的一些配置

    一:代码缩略图插件:CodeGlance: 二:皮肤与主题使用的sublime的系列风格. 三:实现内嵌JS代码的高亮显示.https://segmentfault.com/q/10100000024 ...

  6. Java标识符和关键字

    一.标识符      概念:就是用于给程序中的变量.类.方法命名的符号;      标识符规则:标识符可以有字母.数字.下划线_.和美元符号$组成,并且数字不能打头                   ...

  7. ajax请求!

    ajax请求: var data ='{"useName":"'+name+'",}' $.ajax({ type:"post", url: ...

  8. U盘又中毒了,隐藏文件如何显示

    在 开始--运行 中输入 cmd ,再输入,attrib -H -S D:\123 /s /d 后回车,你就发现问题解决了.注意命令之间的空格,D:\代表盘符,就是你的移动硬盘的盘符,如果你的盘符是E ...

  9. Angularjs select的使用

    实例一:基本下拉效果 usage: label for value in array <!-- lang: html --> <select ng-model="selec ...

  10. Python基于websocket实时通信的实现—GoEasy

    Python websocket实时消息推送 在这里我记录一下之前如何实现服务器端与客户端实时通信: 实现步骤如下: 1.        获取GoEasy appkey. 在goeasy官网上注册一个 ...