静态static最基础的知识
static静态:
常见修饰的内容:
1.变量:
修饰变量时,叫静态变量或类变量。此变量为类所有随着虚拟机加载类是而加载入方法区,此静态变量为该类所有对象共享,在内存中只有一个副本,它 当且仅当 类的初次加载时会被初始化。非静态的变量是对象“私有”的,在每次创建对象时被初始化,存在多个副本,各个副本互不影响。而静态变量是对象共享的,若一个对象改变了其值,其他对象也会受影响。调用:其它类调用它时可以用类名直接调用该属性,也可以用该类对象调用。 静态 不能修饰局部变量!
2.方法:
修饰方法时,叫静态方法或类方法。类方法如其名,也是通过类名直接调用或者对象调用,但由于它不依赖于对象就可以访问,因此对于静态方法来说就没有this.的。由于这个特性,静态方法中就不止直接访问非静态成员方法和非静态成员变量,因为非静态是属于对象的,静态属于类的,可以这么理解。
注意:非静态的方法是可以访问静态方法和变量的。
3.类:
修饰类时,此类只能是内部类。静态内部类不需要有指向外部类的引用而非静态内部类需要持有对外部类的引用。非静态内部类能够访问外部类的静态和非静态成员,静态内部类不能访问外部类的非静态成员,它只能访问外部类的静态成员(类似于静态方法)。非静态内部类不能脱离外部类实体被创建,非静态内部类可以访问外部类的数据和方法,因为他就在外部类里面。
4.对象:
修饰对象时:此对象在编译前就存在于内存中,所以不用new去创建了,可以直接用类名去调用。
5.代码块:
修饰代码时,此时该代码块和静态变量属于一个加载的优先级。静态变量丶静态代码块都是随着类的加载而加载,优先于构造方法丶构造代码块。静态变量丶静态代码块同时存在时,谁编写在上面谁先加载,遵循顺序结构。静态代码块中不能有任何方法体的存在,而且它不能直接访问静态实例和实例方法,需要通过类的实例对象进行访问。
静态static最基础的知识的更多相关文章
- 黑马程序员——JAVA基础之主函数main和静态static,静态代码块
------- android培训.java培训.期待与您交流! ---------- 主函数:是一个特殊的函数.作为程序的入口,可以被jvm调用. 主函数的定义: public:代表着该函数访问权限 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第6节 static静态_14_静态static的内存图
输出room的时候,推荐用类名称点的形式 方法区内有,有个独立的空间叫做静态区,专门用来存储静态static的数据 下图红色箭头的部分,全程和对象没有关系.
- Java基础语法知识你真的都会吗?
第一阶段 JAVA基础知识 第二章 Java基础语法知识 在我们开始讲解程序之前,命名规范是我们不得不提的一个话题,虽说命名本应该是自由的,但是仍然有一定的"潜规则",通过你对命名 ...
- 论Linux运维的一些基础安全知识和简单办法
不知不觉本人来北京也已经第三个年头了,从一个Linux小小鸟,开始,2012年我参加了第一份工作,其实现在想想其实我是幸运的,本来求学的时候,就没好好的学Linux,我认为有Cisco知识从上wind ...
- Android - JNI静态(static)载入OpenCV
JNI静态(static)载入OpenCV 本文地址: http://blog.csdn.net/caroline_wendy 步骤: 1. 准备OpenCV-Android库 复制OpenCV的sd ...
- JAVA面向对象-----面向对象(基础预备知识汇总)
终于整理好了面向对象基础预备知识,但是有点多,所以你们懂的,贴图,较长的代码我还是会排版出来的,我不想把时间浪费在排版上在word里排版一次已经很浪费时间了,所以请谅解. public class C ...
- PHP类的静态(static)方法和静态(static)变量使用介绍
PHP类的静态(static)方法和静态(static)变量使用介绍,学习php的朋友可以看下 在php中,访问类的方法/变量有两种方法: 1. 创建对象$object = new Class ...
- 『Python基础-1 』 编程语言Python的基础背景知识
#『Python基础-1 』 编程语言Python的基础背景知识 目录: 1.编程语言 1.1 什么是编程语言 1.2 编程语言的种类 1.3 常见的编程语言 1.4 编译型语言和解释型语言的对比 2 ...
- 初学Direct X(10)—— D3D基础预备知识
初学Direct X(10) -- D3D基础预备知识 1. 像素格式 D3DFMT_X8R8G8B8(F) X:未加使用 8:8位用于显示 B:用于显示蓝色 F:浮点像素类型 以下三个较为常用,使用 ...
随机推荐
- Pycharm 编辑器快捷键
必备技能:IDEA一定要懂的32条快捷键 这些IntelliJ IDEA键盘快捷键可以让你专注于编写代码,让你的双手在键盘上起舞. 1,搜索文件名: ↑ Shift 快速连续按两下 2,显示便捷提 ...
- 【JVM学习笔记】异常表的重要作用以及locals属性的含义
有如下代码 public class Test { public void work() { try { InputStream is = new FileInputStream("test ...
- VMware虚拟机桥接方式与真实主机共享上网
原始出处 .http://meiling.blog.51cto.com/6220221/1367695 一.先介绍一下VMware网络设置的三种方式: VMWare提供了三种工作模式,host-onl ...
- Top 5 Business Messaging Announcements at Facebook F8 2019
Top 5 Business Messaging Announcements at Facebook F8 2019 By Iaroslav Kudritskiy May 2, 2019 With t ...
- JAVA语言课堂测试01源代码(学生成绩管理系统)
package 考试; /*信1807-8 * 20183798 * 向瑜 */ import java.util.Scanner; //ScoreInformation 类 class ScoreI ...
- 11个顶级 JavaScript 日历插件
参考链接:https://mp.weixin.qq.com/s?__biz=MzI3NzIzMDY0NA==&mid=2247487050&idx=1&sn=e1cf66726 ...
- day31 socket套接字编程
为什么要有套接字编程? 在上节课的学习中,我们学习了OSI七层协议,但是如果每次进行编程时我们都需要一层一层的将各种协议使用在我们的程序中,这样编写程序实在是太麻烦了,所以为了让程序的编写更加的简单, ...
- web - code/flash
trace 来源: 1. http://traces.cs.umass.edu/index.php/Storage/Storage 源代码: 1.sourceforge 2.github.github ...
- 【0.4】mysql版本特性(5.6-8.0)【转】
转自:http://blog.itpub.net/15498/viewspace-2650661/ MySQL 5.6 1).支持GTID复制 2).支持无损复制 3).支持延迟复制 4).支持基于库 ...
- 什么是阿里云ACE认证
作为国内最大的云计算服务商,阿里云不仅引领着中国云计算技术在全球范围内扩大版图,同时还责无旁贷的承担着培养.壮大中国云生态人才力量的使命. 阿里云自2015年推出国内首个公有云技术认证以来,短短三年已 ...