static关键字是Java中常用的关键字之一,可能最常用的就是修饰变量和方法了,但是仅仅知道这些还远远不够。问题虽然很小,但是却反映了对Java的了解程度。

static修饰变量和方法

  • static可以修饰变量,这个变量属于类本身,不需要创建实例就可以直接获取到值。
  • static可以修饰方法,这个方法属于类本身,同样,不要创建实例就可以通过类调用。

需要了解的是,static修饰的变量或方法属于类的静态资源,是所有实例共享的,另外静态方法内部是不能访问非静态方法的,因为静态资源是在类加载的时候就建立好的,而类加载时非静态方法需要类new的时候才能创建,一前一后的顺序所以导致了Java静态方法不能访问非静态资源的结果,当然反之肯定是可以的了。

static修饰代码块

static修饰的代码块是静态代码块,也具有静态的特点,属于类本身,在加载时只需要加载一次,也就是说,如果加载过这个代码块,就不会再加载了。

static修饰类

static修饰类只有一种情况,那就是这个类属于静态内部类,接触过Android开发的话可能遇见过很多这样的静态内部类,如WindowManager.LayoutParams类,LayoutParams就是WindowManager类下的静态内部类,它的源码如下所示:

public interface WindowManager extends ViewManager {public static class LayoutParams extends ViewGroup.LayoutParams implements Parcelable {//内部实现}
}

import static

这个算是比较冷门的,但是知识不怕多,import static是JDK1.5之后的新特性,这两个关键字连用可以指定导入某个类中的指定静态资源。

import static java.lang.Math.*;
2
3 public class A
4 {
5     public static void main(String[] args)
6     {
7         System.out.println(sin(2.2));
8     }
9 }

不需要再加Math.sin()的Math了,还是很方便的,但是可读性不高,不建议这样写。

static关键字能修饰什么相关推荐

  1. static关键字(修饰函数、局部变量、全局变量)

    在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条. (1)先来介绍它的第一条也是最重要的一条:隐藏. 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有 ...

  2. Java-Day11 面向对象遍程的入门 (类属性的默认值、构造方法、类的成员、static关键字、类的成员加载顺序、Java(权限)访问修饰符)

    目录 1. 类的属性的默认值问题 2. 构造方法(Constructor) 3. 类的成员 3.1 类的成员之一:属性 3.2 UML类图 4. static关键字 5. 类的成员加载(运行)顺序 6 ...

  3. static关键字用法

    static关键字 1.修饰成员变量 在我们平时的使用当中,static最常用的功能就是修饰类的属性和方法,让他们成为类的成员属性和方法,我们通常将用static修饰的成员称为类成员或者静态成员,这句 ...

  4. Java基础:详解static关键字与类加载顺序

    1. 前言 前文中说到了static关键字,在Java中这是一个很重要的关键字,它有很多的用法,并且在某些特定的情况下使用可以优化程序的性能.本文学习static关键字的应用场景.在这之前了解变量的类 ...

  5. java final static_Java基础之final、static关键字

    一.前言 关于这两个关键字,应该是在开发工作中比较常见的,使用频率上来说也比较高.接口中.常量.静态方法等等.但是,使用频繁却不代表一定是能够清晰明白的了解,能说出个子丑演卯来.下面,对这两个关键字的 ...

  6. C++ static关键字

    C++ static关键字 static关键字可用于声明全局范围.命名空间范围和类范围的变量和函数. 静态变量还可在本地范围声明. 先介绍几个概念: 静态持续时间,在程序启动时分配对象或变量,并在程序 ...

  7. java中static关键字简介

    static静态关键字: static关键字可以修饰成员变量和成员方法,被修饰的成员是属于类的,而不是简简单单的属于某个对象,也就是说可以不用通过对象调用,而是通过类直接调用. 类变量(静态变量):被 ...

  8. Java的static关键字用法及原理

    文章目录 1.静态变量: 2.静态方法: 3.静态代码块: 4.静态内部类 5.主要用法: 6.本质问题: 1.静态变量: 定义了一个static关键字,用于修饰类的成员,如成员变量,成员方法,以及代 ...

  9. Java讲课笔记12:static关键字

    文章目录 零.本讲学习目标 1.掌握静态变量的使用 2.掌握静态方法的使用 3.掌握静态代码块的使用 一.static关键字的用处 二.静态变量 1.静态变量的定义 2.静态变量的内存分配示意图 3. ...

最新文章

  1. mini2440系统引导(四)存储控制器
  2. Java学习----你的选择是什么-条件结构
  3. plsql(轻量版)_流程控制
  4. NVIDIA DLI 深度学习培训 | 北京站 即将开班
  5. unity中Animation与Animator的区别
  6. 拓端tecdat|R语言中的隐马尔可夫HMM模型实例
  7. 10.3. TUI (Text User Interface)
  8. FireFox、chrome通过插件使用IE内核,IE Tab v2
  9. 苹果手机屏幕镜像搜索不到电视_康佳电视投屏不了,3个办法解决!
  10. OKR教练:为何落地OKR需要复盘?
  11. 链表中添加一个节点和删除一个节点
  12. 51单片机实训day2——创建Proteus工程以及Proteus基本控件的使用|单片机最小系统电路设计:电源配置 复位电路 晶振电路
  13. 画论20 郭熙《林泉高致集》
  14. rosalind练习题
  15. 于博士Cadence教程视频地址以及目录
  16. 阅读摘抄——把时间当做朋友
  17. C语言学习笔记——根据二叉树的后序和中序遍历序列,求这棵树的先序和层次遍历序列
  18. 2011中国软件开发者年度调查
  19. 关于win10无法下载steam解决方法(如何国外网站下载)
  20. JavaScript语法基础:JS运算符

热门文章

  1. 平面/空间杆系结构有限元编程计算(MATLAB)
  2. 搭建我的世界java版服务器,公网远程联机【内网穿透】
  3. 前端1页面制作1——Photoshop切图
  4. 电力行业服务器加固系统,系统加固
  5. C++字符串类std::string介绍
  6. jQuery中所用到的第三方插件
  7. Fedora14 安装MPEG MP3解码器(亲测可用哦!)
  8. 木马程序,原来还有发展,现在居然还有好多代?
  9. SpringBoot集成Swagger2、Swagger2和Swagger3的区别Swagger的注解学习
  10. PLC++控制程序精编108例pdf