Java中static关键字和final关键字
static:
1. 修饰变量,方法
表示静态方法,静态变量。
2. static修饰代码块
static{
}
此种形式为静态代码块,用于初始化同时被final static修饰的变量。(当然,更常用的方式其实是在变量处直接赋值)
静态代码块的内容会被直接在类加载时运行
package com.main; /**
* Created by 63289 on 2017/3/19.
*/
public class HelloJava {
static{
System.out.println("This line will be default initialized");
}
public static void main(String[] args){
System.out.println("Hello World");
}
}
运行结果如下:
This line will be default initialized
Hello World
3. static放在内部类前,形成静态内部类
本文最重要的一部分。
1. static不能修饰顶级类,仅能修饰内部类。
2. static内部类和普通内部类主要不同如下:
(1) 静态内部类不需要指向外部类的引用,非静态内部类需要持有指向外部类的引用。
(这个很好理解,就是非静态的普通类需要在外部类建一个它的对象才能调用,而静态内部类则需要通过类名.方法名这种方法调用。)
(2) 非静态内部类能够访问外部类的静态和非静态成员,静态内部类只能访问外部类的静态成员。
(3) 静态内部类能够声明普通成员变量和静态成员变量和方法,非静态内部类不能声明静态成员变量和方法。
其他如static变量用类名直接调用等不再详述。
final:
1. 未初始化的final成员变量可以且只可以在构造器里初始化一次。
2. 未初始化的final局部变量可以且只可以在所属代码块里初始化一次。
否则就会报错。
Java中static关键字和final关键字的更多相关文章
- java中static特殊性和final(static成员直接被访问,this不能用在static方法中,static不可访问非static)
java的static关键字 java中,static修饰的成员变量和成员方法叫静态变量和静态方法,不依赖类特定的实例,被类的所有实例共享. 静态变量或类变量 和 实例变量,区别是: 静态变量在内存中 ...
- 详解详解Java中static关键字和final关键字的功能
摘要:static关键字和final关键字是Java语言的核心,深入理解他们的功能非常重要. 本文分享自华为云社区<Java: static关键字与final关键字>,原文作者:唐里 . ...
- java中static关键字的作用
java中static关键字主要有两种作用: 第一:为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关. 第二,实现某个方法或属性与类而不是对象关联在一起 简单来说,在Java语言中,s ...
- Java中static和final的解析
static关键字和final关键字是Java中一个难点&重点.本文通过static的用途.常见问题.final的用途.final常见问题,以及static和final的对比来解释这两个关键字 ...
- Java中的break和continue关键字使用总结
java中的break和continue关键字使用总结 一.作用和区别 break的作用是跳出当前循环块(for.while.do while)或程序块(switch).在循环块中的作用是跳出 ...
- static关键字和final关键字
static关键字和final关键字 static(静态) 作用 用来修饰属性.方法.代码块.内部类 static修饰属性 表示静态变量(类变量) 按是否使用static修饰,属性的分类 静态属性 当 ...
- Java中static final 与 final 的区别(转载)
转自:http://advance0683.iteye.com/blog/1107732 Java中static final 与 final 的区别: 例子: Java代码 import java.u ...
- abstract关键字、final关键字、static关键字、访问修饰符详解
abstract关键字.final关键字.static关键字.访问修饰符详解 abstract关键字: final关键字: static关键字: 访问修饰符:
- Java中static块执行时机
Java中static块执行时机 演示例子 在使用static进行初始化的操作,怎么也执行不了!代码如下: public class StaticDemo { public static final ...
- Java中static的用法,初始化块
使用 Arrays 类操作 Java 中的数组语法: Arrays.sort(数组名); 可以使用 sort( ) 方法实现对数组的排序,只要将数组名放在 sort( ) 方法的括号中,就可以完成对该 ...
随机推荐
- Android必知必会--使用shape制作drawable素材
前言 最近看到朋友制作的Android APP使用了极少的图片,但是图形却极其丰富,问了之后得知是使用shape绘制的,有很多优点. 下面是我整理的一些素材: 预览 下面是图片预览: 代码 布局文件 ...
- Leetcode_122_Best Time to Buy and Sell Stock II
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/43155725 Say you have an array ...
- ffplay的快捷键以及选项
ffplay是ffmpeg工程中提供的播放器,功能相当的强大,凡是ffmpeg支持的视音频格式它基本上都支持.甚至连VLC不支持的一些流媒体都可以播放(比如说RTMP),但是它的缺点是其不是图形化界面 ...
- Struts2中的缓存----以Injector为例
题外话,文章中有大量的标识1 标识2,大家可以用ctrl+f来查找. 构成缓存的类 主要就是以下两个: com.opensymphony.xwork2.inject.util.ReferenceCac ...
- 【cocos 2d-x】VS2013+cocos2d-x3.3Final+Adriod交叉编译环境配置(超详细版)
本系列文章由@二货梦想家张程 所写,转载请注明出处. 作者:ZeeCoder 微博链接:http://weibo.com/zc463717263 我的邮箱:michealfloyd@126.com ...
- CSS解决无空格太长的字母,数字不会自动换行的问题
其实很简单,代码如下所示,注意 Style: <div class="detail_title" style="word-break: break-all;&quo ...
- Useful Scripts for E-Business Suite Applications Analysts
In this Document Purpose Questions and Answers IMPORTANT: 1. How to find versions of files i ...
- WinCE系统声音定制
作者:ARM-WinCE 2010的第一篇Blog,介绍一下WinCE系统声音的定制.说白了,就是设置注册表.WinCE系统启动的开机音乐,点击触摸屏以及键盘输入的按键音,还有系统运行过程中的各种声音 ...
- HBase Master 启动
–>首先初始化HMaster –>创建一个rpcServer,其中并启动 –>启动一个Listener线程,功能是监听client的请求,将请求放入nio请求队列,逻辑如下: –&g ...
- mac os x下Dreamweaver如何还原初始配置
上次在mac下修改Dreamweaver(以下简称dw)时,不知动了哪里,导致打开html文档时设计按钮变灰不能使用!这个太蛋疼了,只能在浏览器中查看效果,live按钮更不用说也是灰化状态. 于是使用 ...