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. SQL Server ->> 关于SQL Server Agent Job执行步骤时的用户上下文(User Context)问题

    这是最近项目相关和自己感兴趣的一个问题:SQL Server Agent Job有几种方法可以以特定用户上下文去执行任务步骤的? 这个事情需要分几种情况来说,因为对于不同类型的任务步骤,SQL Ser ...

  2. win+ R下的常见命令

    -------------------------电脑运行常见命令----------------------------- Windows+R输入cmd 运行net start mssqlserve ...

  3. Web API 2 入门——使用ASP.NET Web API和Angular.js构建单页应用程序(SPA)(谷歌翻译)

    在这篇文章中 概观 演习 概要 由网络营 下载网络营训练包 在传统的Web应用程序中,客户机(浏览器)通过请求页面启动与服务器的通信.然后,服务器处理请求,并将页面的HTML发送给客户端.在与页面的后 ...

  4. Linux 安装问题

    问题1: root>sudo apt-get install yum 提示: dpkg was interrupted, you must manually run 'sudo dpkg --c ...

  5. Mysql学习---SQL测试题之表结构

    创建表结果和数据准备[直接执行即可] /* Navicat MySQL Data Transfer Source Server : ftl1012 Source Server Version : 50 ...

  6. 学习Road map Part 03 编程和算法

    方法: 优先重复已学过的内容 写学习笔记

  7. 解决Unity3D操作界面字体模糊的问题

    新装的电脑安装了UNITY后,操作界面的字体异常模糊,搜了半天看看有没有换字体的功能,也没找到 后来快放弃的时候,偶然看到这篇文章http://eyehere.net/2014/unity3d-int ...

  8. Wifi密码破解

    Wifi密码破解1:通过字典(暴力)破解WIFI密码   简单破解WEP/WPA/WPA2加密的WIFI密码,平台kali-linux 工具:Aircrack-ng 过程很简单:先抓含有正确密码的握手 ...

  9. sublime text html5开发学习 插件篇记录

    1.第一步先按照 Package Control,具体步骤自行百度,Google. 2. view in browser 默认的快捷键应该是这样的,我用的是IE浏览器.所以ctrl+alt+i 即可让 ...

  10. GPU 与CPU的作用协调,工作流程、GPU整合到CPU得好处

    http://blog.csdn.net/maopig/article/details/6803141 在不少人的心目中,显卡最大的用途可能就只有两点——玩游戏.看电影,除此之外,GPU并没有其他的作 ...