java篇 之 静态
Final:不可改变
Static:静态修饰符,在编译阶段就能确定了,可以修饰成员变量,相应的称之为静态变量
是一个共享的变量(被这个类和这个类所产生的对象所共享的,他是唯一的,出生时间 为类第一次产生时创建,只加载一次)静态变量也叫类变量(类名.静态 对象.静态)(因为静态是唯一的,而非静态是new一次产生一次,所以要确定是哪一个对象的成员)
成员变量 --->实例变量 判断标准为有无static
--->静态变量(static)(存放在静态存储区)
静态方法static:静态变量(方法)不能访问非静态变量,但是可以访问静态变量
它可在类的对象被创建之前就被调用,当实例变量未产生时已经被调用,不能调用实例(可以直接用 类名.静态方法 调用 与普通方法不一样(对象 . 方法))同一个类中的静态方法能互相调用(因为不涉及到实例变量)
this.count/super 不可用,因为对象没产生
使用:预处理,与对象无关的方法
Static静态代码块:只加载一次(因为它是确定的)
动态(普通)代码块:new一次,加载一次
静态代码块和静态成员变量是按java代码执行规则按顺序执行的
import static java.lang.Math.PI;(导入类里面的静态成员)
可以直接使用PI(System.out.println(PI) )
import static java.lang.Math(也可以,包含了PI,但是浪费了空间,用啥导入啥)
static final修饰的属性,只能在声明的时候或者在static代码中赋值,而且只能赋一次值。
final修饰类,该类不能子类继承
final修饰属性,该属性只能赋值一次
final修饰方法,该方法不能被重写
静态成员变量不赋初值会有默认值,此时它还可以被赋值一次,之后就不可改变值了,若是一开始就赋初值了那就不可以再改变值了!!!
java篇 之 静态的更多相关文章
- 高效JAVA之用静态工厂方法代替构造器
程序员这行干的久了,总会染上一些恶习,我就染上一个让人深恶痛绝,自己却津津乐道的习惯,还不想改的那种,它可以叫做强迫症,也可以叫做洁癖.那就是我不允许我的IDEA出现一点点警告,什么黄色背景,绿色波浪 ...
- JSON总结(java篇)
JSON总结(java篇一) JSON简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于 ...
- [转]有哪些值得关注的技术博客(Java篇)
有哪些值得关注的技术博客(Java篇) 大部分程序员在自学的道路上不知道走了多少坑,这个视频那个网站搞得自己晕头转向.对我个人来说我平常在学习的过程中喜欢看一些教程式的博客.这些博客的特点: 1. ...
- Java之Static静态修饰符详解
Java之Static静态修饰符详解 Java之Static静态修饰符详解 一.特点 1.随着类的加载而加载,随着类的消失而消失,生命周期最长 2.优先于对象存在 3.被所有类的对象共享 4.可以直接 ...
- 黑马程序员:Java基础总结----静态代理模式&动态代理
黑马程序员:Java基础总结 静态代理模式&动态代理 ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 静态代理模式 public class Ts { ...
- Java面试题 静态代码块 构造代码块 构造方法 的执行顺序
JAVA中的静态代码块 构造代码块 构造方法执行顺序: 静态代码块(类加载时执行)>>构造代码块>>构造方法 下面展示一个简单的例子,推荐大家动手运行一遍: public cl ...
- 面试总结——Java篇
前言:前期对Java基础的相关知识点进行了总结,具体参看:Java基础和面试知识点.近期由于笔者正在换工作(ing),因此下面将笔者在面试过程中或笔者朋友面试过程中反馈的题目进行总结,相信弄清楚下面题 ...
- static特别用法【静态导包】——Java包的静态导入
面试我问你static关键字有哪些作用,如果你答出static修饰变量.修饰方法我会认为你合格,答出静态块,我会认为你不错,答出静态内部类我会认为你很好,答出静态导包我会对你很满意,因为能看出你非常热 ...
- java代理:静态代理和动态代理
一.Java中有一个设计模式是代理模式 代理模式是常用的Java设计模式,特征是代理类与委托类有相同的接口,代理类主要负责为委托类预处理消息.过滤消息.把消息转发给委托类,以及事后处理消息等. 代理类 ...
随机推荐
- this 的值到底是什么?一次说清楚
this 的值到底是什么?一次说清楚 方应杭 杭州饥人谷教育科技有限公司 CTO 1,071 人赞同了该文章 你可能遇到过这样的 JS 面试题: var obj = { foo: function ...
- re正则匹配模块_python
一.re模块 1.模块功能 通过re模块的接口接入正则表达式语言,主要用于匹配字符串. 2.正则表达式元字符以及意义 . 代表任意一个字符(除了换行符\n) ^ 以什么开头 $ 以什么结尾 * 重复匹 ...
- B - 青蛙的约会
两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面. 它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止. 可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方 ...
- scp知识点
小伙伴的博客(详细): https://www.cnblogs.com/ppp204-is-a-VC/p/11673567.html
- cookie 与 session区别
cookie 与 session 是网页开发中常用的信息存储方式.Cookie是在客户端开辟的一块可存储用户信息的地方:Session是在服务器内存中开辟的一块存储用户信息的地方.JavaScript ...
- 五、抗DDOS防火墙
简介 DDoS全名是Distribution Denial of service (分布式拒绝服务攻击).拒绝服务攻击的攻击方式有很多种,最基本的Dos攻击就是利用合理的服务请求来占用过多的服务资源, ...
- this.$nextTick
首先我们先来看看官方介绍的用法: 将回调延迟到下次 DOM 更新循环之后执行.在修改数据之后立即使用它,然后等待 DOM 更新. 它跟全局方法 Vue.nextTick 一样,不同的是回调的 this ...
- Flink架构(二)- Flink中的数据传输
2. Flink中的数据传输 在一个运行的application中,它的tasks在持续交换数据.TaskManager负责做数据传输.TaskManager的网络组件首先从缓冲buffer中收集re ...
- 如何在IntelliJ Idea中同时启动不同端口的两个实例
在SpringCloud开发过程中需要在一个项目中启用不同的端口,我使用的工具是IDEA 步骤1 创建SpringBoot工程 步骤2 在配置文件中添加如下配置: spring.application ...
- MyBatis(6)——分页的实现
分页的实现 a)通过mysql的分页查询语句: 说明:sql的分页语句格式为select * from aaa limit #{startIndex},#{pageSize} //---------- ...