成员变量

静态变量/类变量(用static修饰的)

方法

静态方法/类方法(用static修饰的)
和普通方法
类的静态方法里,不能调用类的非静态属性(要有对象调用)
静态方法从属于类,而非静态方法从属于对象
反之,如果普通方法调用静态变量,静态方法则是可以的(调用时,对象引用了类的静态变量/方法地址)
static方法也在堆开辟了自己的的类代码空间
在堆的static变量中是引用上面的方法地址
因此,类.static引用的也是上面的地址
this
作为方法的隐式参数,系统自动加上的(类似的super)
由于对象在调用某个方法时,引用到的堆的类代码都一样,因此每个对象调用方法时,要用到this隐式参数
this在普通方法,指向当前对象
在构造方法,则指向正初始化的对象
this如果用于构造方法内,调用另一个构造方法,则须写在第一句
this与static关系:
this不能用于static定义的方法
-----------------------------------------------------以下是网上找的拓展知识--------------------------------------------------------
1. static 全局变量与普通的全局变量有什么区别 ?

全局变量 ( 外部变量 ) 的说明之前再冠以 static 就构成了静态的全局变量。

全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式 。 这两者在存储方式上并无不同。

这两者的区别在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误。

static 全局变量只初使化一次,防止在其他文件单元中被引用 ;

2.  static 局部变量和普通局部变量有什么区别 ?

把局部变量改变为静态变量后是改变了它的存储方式即改变了它的 生存期 。把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。

static 局部变量只被初始化一次,下一次依据上一次结果值;

3.  static 函数与普通函数有什么区别?

static 函数与普通函数作用域不同 , 仅在本文件。只在当前源文件中使用的函数应该说明为内部函数 (static 修饰的函数 ) ,内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件.

static 函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝

----------------------------------------------------------------------------------------------------------------------------

参考资料:

网易云课堂:尚学堂_高淇java零基础最全300集视频教程http://study.163.com/course/introduction/343001.htm#/courseDetail

中兴通讯 2012 校招笔试题的一道问答题:http://www.tuicool.com/articles/2Q77Fzq



static this(尚学堂视频学习总结_002)相关推荐

  1. 尚学堂Java学习笔记

    尚学堂Java学习笔记 ============================ J2SDK&JRE J2SDK:JAVA2 SOFTWARE DEVELOPMENT KIT JRE:JAVA ...

  2. 尚学堂Java学习日记Day3

    尚学堂Java学习日记Day3 第三天老师先回顾了昨天的内容我从回顾中掌握了新的知识 如下图所示 int与double计算,输出类型为double的不同结果 会把int转成double类型的,这是隐式 ...

  3. 尚学堂Java学习日记Day1

    尚学堂学习日记Day1 #今天开始写学习博客记录自己学习java的点滴成长历程,希望能成为学弟学妹们的前车之鉴. 先大概的自我介绍下,我原本从事的是网络工程师,学习的是Cisco(思科)并拥有CCNP ...

  4. 尚学堂Java学习第四章课后编程题作业参考答案

    我只是一个学习java 的初学者哈哈哈,代码写的都很烂,望大佬们指点指点. #尚学堂第三章:java面向对象基础 ##课后作业编程题一: 题目:1. 编写 Java 程序用于显示人的姓名和年龄.定义 ...

  5. 看尚学堂视频Java学习笔记

    //这是我刚接触java时做的笔记, 后面也没去整理, 可能其中有些理解有误, 仅供参考!!! 1.java中一个英文字母或一个中文汉字都是2个字节来存储.如:(char是16bit) 2." ...

  6. Docker_尚硅谷视频学习笔记

    文章目录 1 Docker 简介 前提知识+课程定位 Docker 是什么? 问题:为什么会有docker出现 docker理念 总结 能干嘛 之前的虚拟机技术 容器虚拟化技术 开发/运维(DevOp ...

  7. JavaSE(尚硅谷视频学习笔记)

    文章目录 Java基础编程 Java语言概述 Java语言简述 1.基础图解 2.常识 3.计算机语言的发展迭代 4.Java语言版本迭代概述 5. Java语言应用的领域 6.Java语言的特点 开 ...

  8. 正则表达式基础知识---文本操作(尚学堂视频笔记)

    正则表达式(Regular Expression)基础知识 一.开发中使用流程: -分析要匹配的数据 写出测试用的典型数据 -在工具软件中进行匹配测试 -在程序中调用通过测试的正则表达式 (有些高级语 ...

  9. 尚学堂怎么样?我在尚学堂Java学习感受。。

    理论与实践相结合的桥梁 基础班只有短短的两周,虽说时间很短,但其中的每天都使我收获很大. 受益匪浅,它不但极大地加深了我对一些理论知识的理解, 不仅使我在理论上对Java有了全新的认识,在实践能力上也 ...

  10. 【javaScript】学完js基础,顺便把js高级语法学了(尚硅谷视频学习笔记)

    文章目录 [1]基本总结深入 一.什么是数据 1.数据类型 基本(值)类型 对象(引用)类型 2.判断 相关问题 二.什么是内存 1.什么是数据 2.什么是内存? 3.什么是变量 4.内存.数据.变量 ...

最新文章

  1. 重磅!国内首个缺陷检测教程:理论、源码与实战
  2. 构造函数和析构函数中抛出异常
  3. 拉新不留存,就是负增长(附建议)
  4. python爬酷狗音乐_良心推荐!一个Python高手必读的库,真香!
  5. MFC访问阿里云Oss平台
  6. centos6/7 yum安装mysql客户端和rpm包方式安装方式
  7. 在Oracle DG Standby库上启用flashback database功能
  8. Tensorflow中卷积的padding操作
  9. 玩转Heartbeat,快速实现高可用性集群
  10. java 获取远程系统启动时间_从Java中的RuntimeMXBean获取系统启动时间
  11. 通过axis2解析sap 发布的webService接口,新手到进阶,多种方法。
  12. mysql数据脱敏_数据脱敏|静态脱敏|动态脱敏—数据库脱敏_产品
  13. lua知识点-unpack
  14. Win10电脑下载软件有绑定软件怎么删除
  15. 算法-枚举法-已知xyz + yzz = 532,其中x、y、z都是数字(0~9),编写一个程序求出x、y、z分别代表什么数字。
  16. python概率计算,python简单脚本之概率计算
  17. umi 约定式路由 关于 history.goBack() 的奇奇怪怪问题
  18. 计算机和电脑键盘进水怎么办,笔记本键盘进水失灵了怎么办?别着急,只需记住这几招!...
  19. paraview热流图(1):添加glyphs
  20. 车载显示屏申请E-mark认证需要测试些什么?

热门文章

  1. bind9智能dns配置
  2. 人力资源管理六大模块体系解读
  3. 搜索引擎系统的原理和实践
  4. 入门爬虫二三记(一):爬取酷狗音乐榜单Top500
  5. bzoj 3730 震波 —— 动态点分治+树状数组
  6. 手把手教你开发BLE数据透传应用程序
  7. SQL SERVER还原数据库时,如果C盘空间不足还原到其他盘的方法
  8. 四种渠道打造网站高质量原创内容
  9. Matplotlib系列(一):快速绘图入门
  10. [C#]LambdaTest