this、static

this 关键字

类不可以定义 this 属性 ,  但是每个类都有一个 隐藏起来的 this 属性  .
每个对象被创建了 , 都会给其属性分配空间  , 也会给 this 属性 分配  , 并且给其存储了一个值
该值是当前对象本身的地址。
this 始终指向当前对象本身  .
this 有三个作用  和 一个注意点
作用 : 
    this([实参]); 这种格式可以在构造器中 调用本类的其他构造器.
                this([实参]);必须位于第一行
    this.属性 ;
            这种用法可以 区别成员变量  和 局部变量
 
    this.方法
            这种用法可以  调用当前对象的方法
            但是实际上 不用 this  和 使用 this  没有任何区别
        
一个注意点 :
    this 不能出现在  static 修饰的方法  和  代码块中
    因为是 static 加载机制的问题
 
 

static 关键字

 
    static 是静态修饰符 , 可以修饰  属性 方法 代码块 类(内部类)
    static 修饰的元素 都会具有  static 的特性
    
    特性 1
        静态的元素 优先被加载到内存    
        当某个类被使用时  , 会先把这个类加载到 jvm 内存里 , 
        先加载该类的静态成员,然后再加载非静态的元素 .
        静态的元素 优先被加载 , 在静态元素加载的时候  , 此时内存里还不会有 非静态元素  .

    特性 2
        静态的元素 只被加载一次   
    
    特性 3
        静态的元素 不依附对象  , 静态的元素 依附于 类  .
    特性 4 
        静态的成员 在内存里永久存在  不会消失
 

使用 :
        static 修饰属性
            1. 不依附对象  可以直接使用   
                普通属性在对象创建受分配空间
                静态属性 在类加载就分配空间了
                
            2. 只加载一次  
                普通的成员  加载多次  每创建一次就加载 
                而静态的成员  只会加载一次   
 
     static 不可以修饰局部变量  因为冲突
                局部变量 在方法调用时 分配空间      方法结束时回收空间
  static 修饰方法
            只加载一次  不依附对象  依附于类
            使用方式
                1. 类名.方法名 (推荐使用)
                2. 对象.方法名 
                
            static 修饰的方法 又叫静态方法  类方法
            
            静态方法只能访问静态的成员  
            非静态方法 可以访问静态的成员  也可以访问非静态成员
 代码块: 一对大括号就是代码块
   在方法之外的代码块  何时可以执行呢  ?
            在构建对象时 可以执行
            构建一次对象 执行一次
            它在构造器之前执行      
        代码块没有数量限制  ,     执行时按照顺序执行
        属性的声明且赋值 是会被拆分成  声明  + 代码块赋值

  static 修饰代码块
            又称静态代码块
            优先加载  只加载一次 

只能访问静态元素  不能访问非静态元素

 
 

大数据学习--day09(this、static)的更多相关文章

  1. 大数据学习笔记——Linux完整部署篇(实操部分)

    Linux环境搭建完整操作流程(包含mysql的安装步骤) 从现在开始,就正式进入到大数据学习的前置工作了,即Linux的学习以及安装,作为运行大数据框架的基础环境,Linux操作系统的重要性自然不言 ...

  2. 大数据学习笔记——Java篇之集合框架(ArrayList)

    Java集合框架学习笔记 1. Java集合框架中各接口或子类的继承以及实现关系图: 2. 数组和集合类的区别整理: 数组: 1. 长度是固定的 2. 既可以存放基本数据类型又可以存放引用数据类型 3 ...

  3. 大数据学习之 LINUX

    ##大数据学习 古斌6.6 01. linux系统的搭建: 选用 Contos 6.5 x64位系统 (CentOS-6.5-x86_64-minimal.iso) 我选择的为迷你版 模板机: bla ...

  4. 大数据学习day31------spark11-------1. Redis的安装和启动,2 redis客户端 3.Redis的数据类型 4. kafka(安装和常用命令)5.kafka java客户端

    1. Redis Redis是目前一个非常优秀的key-value存储系统(内存的NoSQL数据库).和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list ...

  5. 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机)

    引言 在大数据学习系列之一 ----- Hadoop环境搭建(单机) 成功的搭建了Hadoop的环境,在大数据学习系列之二 ----- HBase环境搭建(单机)成功搭建了HBase的环境以及相关使用 ...

  6. 大数据学习系列之五 ----- Hive整合HBase图文详解

    引言 在上一篇 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机) 和之前的大数据学习系列之二 ----- HBase环境搭建(单机) 中成功搭建了Hive和HBase的环 ...

  7. 大数据学习系列之六 ----- Hadoop+Spark环境搭建

    引言 在上一篇中 大数据学习系列之五 ----- Hive整合HBase图文详解 : http://www.panchengming.com/2017/12/18/pancm62/ 中使用Hive整合 ...

  8. 大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解

    引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单 ...

  9. 大数据学习系列之九---- Hive整合Spark和HBase以及相关测试

    前言 在之前的大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 中介绍了集群的环境搭建,但是在使用hive进行数据查询的时候会非常的慢,因为h ...

随机推荐

  1. 关于实现XX系统设计时所实现的质量属性战术

    可用性: 1)使用Try-catch对抛出的异常进行处理 2)使用Spring事务管理 易用性: 1)在类似删除相关选项时,弹出提示框,防止误操作 2)在不编辑基本信息时,对其进行折叠或者隐藏 3)提 ...

  2. SQL Server ->> SQL Server 2016功能改进之 -- Update Statistics

    1) 以前SQL Server更新一张表/索引的间隔是固定的,创建时更新一次,到了500行时更新第二次,接下来就是呈百分比式的间隔去更新,距离数据修改量达到表的行数量的的20%再次触发更新.但是这样的 ...

  3. 【Python机器学习及实践】笔记

  4. MVC Dropdownlist数据绑定 默认值

    @Html.DropDownList("Data", (SelectList)ViewBag.Data, new { @class = "form-control cho ...

  5. Mysql学习---基础操作学习

    1.1. 基本操作 数据库引擎 Inodb:支持事务[原子性操作,完成一些列操作后才算完成操作,否则rollback] MyISAM: 支持全文索引,强调了快速读取操作,主要用于高负载的select ...

  6. 学习的矩阵微积分The matrix calculus you need for deep learning

    学习的矩阵微积分The matrix calculus you need for deep learning https://explained.ai/matrix-calculus/index.ht ...

  7. DOS 保存系统日志

    1.导出系统日志,以当前日期命名 @echo offset nowDate=%date%set tmp=%nowDate:~0,-3%set file=%tmp:/=-%系统日志.evtx echo ...

  8. 大数据平台搭建:Hadoop

    To construct big data distributed platform based on Hadoop is a common method. Hadoop comes fron Goo ...

  9. June 19th 2017 Week 25th Monday

    Everyone is dissatisfied with his own fortune. 人对自己的命运总是感到不满足. We always want more, even when we hav ...

  10. 迷宫问题——BFS

    改进版 BFS #include <bits/stdc++.h> using namespace std; #define coordi(x,y) ( m*(x-1)+y ) const ...