static 修饰用法

如有不足,多多指导。

static 可以修饰属性,方法,静态代码块

  1. 修饰属性:全类共有的属性,可以通过类名.属性获取

    在创建对象的时候加载

2. 修饰代码块

static { }

3. 修饰方法

public static void m(){}

这里主要说下 加载时候的先后顺序

类加载顺序

1.父类静态属性/父类静态代码块 (书写的先后顺序)

2.子类静态属性/子类静态代码块  (书写的先后顺序)

3.父类实例属性/父类动态代码块   (书写的先后顺序)

4.父类构造方法

5.子类实例属性/子类动态代码块   (书写的先后顺序)

6.子类构造方法

我们通过代码来进行验证

class par{

static int pi = 4;

static {

System.out.println("父类静态代码块"+pi);

}

{

System.out.println("父类动态代码块"+pi);

}

int pj = 5;

public par(){}

}

class son extends par{

int sj = 7;

{

System.out.println("子类动态代码块"+sj);

}

static int si = 6;

static {

System.out.println("子类静态代码块"+si);

}

}

结果:

父类静态代码块4

子类静态代码块6

父类动态代码块4

子类动态代码块7

时间: 2024-12-24 03:17:34

static 修饰用法的相关文章

【java基础知识】【static修饰的用法】

在看源码的过程中发现了一个特别奇怪的现象. 就是: 在某个类中没有声明某个类的对象居然使用了这个类的方法,一查,原因是static修饰的成员变量和成员方法可以通过类名直接访问. 而要做的事情只是将类名导入就可以了.不需创建任何对象就可以使用.. 引用网上摘抄的一段话: “ static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何对象.也就是说,它不依赖类

Java下static关键字用法详解

Java下static关键字用法详解 本文章介绍了java下static关键字的用法,大部分内容摘自原作者,在此学习并分享给大家. Static关键字可以修饰什么? 从以下测试可以看出, static 可以修饰: 1. 语句块 2. 成员变量(但是不能修饰局部变量) 3. 方法 4. 接口(内部接口) 5. 类(只能修饰在类中的类, 即静态内部类) 6. jdk 1.5 中新增的静态导入 那么static 修饰的表示什么呢? 当创建一个类时,就是在创建一个新类型,描述这个类的对象的外观和行为,除

static的用法

参考: static用法详解    http://www.cnblogs.com/heyonggang/p/3198431.html static函数与普通函数     http://blog.163.com/sunshine_linting/blog/static/44893323201191294825184/ 一. 面向过程程序设计 1.静态全局变量 在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量.我们先举一个静态全局变量的例子,如下: //Example 1 #

static关键字用法

java中static关键字可用于修饰: 1.属性:表示该属性变量在类被加载时即被创建并初始化,类加载过程只进行一次,因此静态变量也只被创建一次 2.方法:静态方法为类的公有方法,可直接用‘类名.方法名'访问,静态方法不可访问本类中的非静态成员,子类不可 将父类的静态方法覆盖为非静态的,反之亦然.此外,静态方法中不能使用this关键字 3.代码块:静态初始化代码块,在类被加载时执行一次,可用于类的初始化 具体实例: 1)下面的例子中,静态变量staticVar,只在类第一次加载时被创建并初始化,

static、final、static final 用法

1.使用范围:类.方法.变量. 2.区别和联系: 2.1.static 含义:静态的,被 static 修饰的方法和属性只属于类不属于类的任何对象.2.2.static 用法:2.2.1.static 可以修饰[内部类].方法和成员变量.2.2.2.static[不可以修饰外部类].[不可以修饰局部变量](因为 static 本身就是定义为类级别的,所以局部级别的变量是不可以用 static 修饰的). 2.3 final 含义:[只能赋值一次]的.2.2.final 用法:2.2.1.fina

Java中static的用法

static静态,作为修饰符,最初是由c引入,一开始static表示退出一个块后依然存在的局部变量.随后,static表示不能被其他文件访问的全局变量和函数.到了C++和java,static表示属于类且不属于类对象的变量和函数. 从具体用法来看,主要用到5个方面. 一.静态域. static修饰类的域(字段,成员变量),被static修饰的域在类中只有一个,它属于类,也称为类域.它只能被类操作,不能由对象操作.比如 pubic class Employee { private static i

C/C++中static的用法全局变量与局部变量

1.什么是static? static 是C/C++中很常用的修饰符,它被用来控制变量的存储方式和可见性. 1.1static的引入 我们知道在函数内部定义的变量,当程序执行到它的定义处时,编译器为它在栈上分配空间,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义为全局的变量,但定义一个全局变量有许多缺点,最明显的缺点是破坏了此变量的访问范围(使得在此函数中定义的变量,不仅仅只受此函数控制).s

ava下static关键字用法详解

Java下static关键字用法详解 本文章介绍了java下static关键字的用法,大部分内容摘自原作者,在此学习并分享给大家. Static关键字可以修饰什么? 从以下测试可以看出, static 可以修饰: 1. 语句块 2. 成员变量(但是不能修饰局部变量) 3. 方法 4. 接口(内部接口) 5. 类(只能修饰在类中的类, 即静态内部类) 6. jdk 1.5 中新增的静态导入 那么static 修饰的表示什么呢? 当创建一个类时,就是在创建一个新类型,描述这个类的对象的外观和行为,除

extern static修饰全局变量的区别

在实际开发C++项目的时候,一个项目里面往往会包含多个cpp文件,多个头文件,有时还会有c文件.由于变量的声明可以有多次,但定义只能有一次,这就不可避免地要使用extern,static关键字.弄清楚这几个关键字之间的用法和区别,能节省很多调试项目的时间,尤其是对于一些难以定位的链接错误.下面分别介绍: 一.extern关键字 这个关键字可能是最容易用错的一个,一方面可能是因为平时写的小程序不太会用到这个关键字,另一方则是这个关键字确实有些不太容易理解的用法. extern关键字主要有两个作用: