java static关键字用法

用法:是一个修饰符,用于修饰成员(成员变量,成员函数)。

当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,还可以直接被类名调用。类名.静态成员。

static特点:

1、随着类的加载而加载。

也就是说:静态会随着类的消失而消失,说明它的生命周期最长。

2、优先于对象存在。

明确一点:静态时先存在的。对象是后存在的。

3、被所有对象所共享。

4、可以直接被类名所调用。

实例变量和类变量的区别:

1、存放位置。

类变量随着类的加载而存在于方法区中。

实例变量随着对象的建立而存在于堆内存中。

2、生命周期。

类变量生命周期最长。随着类的消失而消失。

实例变量生命周期随着对象的消失而消失。

静态的使用注意事项:

1、静态方法只能访问静态成员(成员变量和方法)。

     非静态方法既可以访问静态也可以访问非静态。

2、静态方法中不可以定义this super关键字。

因为静态优先于对象存在。所以静态方法中不可以出现this。

3、主函数是静态。

静态有利有弊:

利:对对象共享数据进行单独空间的存储,节省内存,没有必要每个对象中都存储一份。

      可以直接被类名调用。

弊:生命周期过长。访问出现局限性。(静态虽好,只能访问静态)

 

静态代码块:

格式:

static

{

    静态代码块中的执行语句。

}

特点:随着类的加载而执行,只执行一次,并优先于主函数执行。

用于给类进行初始化的。

初始化顺序:

a c  d先静态  然后是构造函数  最后调用自定义构造函数。

时间: 2024-09-24 09:09:41

java static关键字用法的相关文章

java之static关键字用法实例解析_java

本文实例讲述了java中static关键字用法,分享给大家供大家参考.具体分析如下: 一.介绍: 1.在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时被初始化,对于该类的所有对象来说,static成员变量只有一份. 2.用static声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static成员.(静态方法不再是针对于某个对象调用,所以不能访问非静态成员) 3.可以通过对象引用或类名(不需要实例化)访问静态

谈Java static关键字的用法与好处_java

本文针对Java static关键字的使用方法进行汇总,供大家参考,具体内容如下 1.对于static关键字的使用的时候对于修饰变量的时候,它相当于一个全局变量: 2.对于static修饰一个函数的时候他是在类被加载的时候首先会被类加载,并且只能加载一次,并且这个方法可以不需要通过实例进行调用例如: mystatic.java package study; public class mystatic { public static int sta=0; public int st=0; //st

浅析java 的 static 关键字用法_java

本篇浅析java中static的用法,主要五个方面:静态成员变量,静态方法,静态块,静态内部类,静态导包. 首先还是一张表格说一下静态对象和非静态对象的区别: 静态对象 非静态对象 归属 类共同具有 类的各个实例独立拥有 内存分配 内存空间上固定的 附属类分配 分配空间顺序 优先分配静态对象空间 优先分配静态对象空间,初始化也一样 1 静态变量,静态方法,静态块 静态对象,静态方法都是在原对象和方法上加上static关键字修饰,表示类可以直接调用这些,而不需要实例化后再调用.具有的好处是: 1-

java下static关键字用法详解

静态的, 那么首先, 我们先来看一下static可以修饰什么: 从以下测试可以看出, static 可以修饰: 1. 语句块 2. 成员变量(但是不能修饰局部变量) 3. 方法 4. 接口(内部接口) 5. 类(只能修饰在类中的类, 即静态内部类) 6. jdk 1.5 中新增的静态导入 那么static 修饰的表示什么呢? 当创建一个类时, 就是在创建一个新类型,描述这个类的对象的外观和行为,除非用new创建出那个类的对象, 数据存储空间才被分配, 其方法才供外界调用. 那么当声明一个事物为s

java final关键字用法说明

final关键字到底修饰了什么? final使得被修饰的变量"不变",但是由于对象型变量的本质是"引用",使得"不变"也有了两种含义:引用本身的不变,和引用指向的对象不变. 引用本身的不变: final StringBuffer a=new StringBuffer("immutable"); final StringBuffer b=new StringBuffer("not immutable"); a

Java中static关键字的作用和用法详细介绍_java

static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何对象.也就是说,它不依赖类特定的实例,被类的所有实例共享. 只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们.因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象. 用public修饰的static成员变量和成员方法本质是

详解Java编程中static关键字和final关键字的使用_java

Java static关键字以及Java静态变量和静态方法 static 修饰符能够与变量.方法一起使用,表示是"静态"的. 静态变量和静态方法能够通过类名来访问,不需要创建一个类的对象来访问该类的静态成员,所以static修饰的成员又称作类变量和类方法.静态变量与实例变量不同,实例变量总是通过对象来访问,因为它们的值在对象和对象之间有所不同. 请看下面的例子: public class Demo { static int i = 10; int j; Demo() { this.j

java必学必会之static关键字_javascript技巧

一.static关键字 原来一个类里面的成员变量,每new一个对象,这个对象就有一份自己的成员变量,因为这些成员变量都不是静态成员变量.对于static成员变量来说,这个成员变量只有一份,而且这一份是这个类所有的对象共享. 1.1.静态成员变量与非静态成员变量的区别 以下面的例子为例说明 package cn.galc.test; public class Cat { /** * 静态成员变量 */ private static int sid = 0; private String name;

Java中的static关键字全面解析_java

static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题.以下是本文的目录大纲: 一.static关键字的用途 二.static关键字的误区 三.常见的笔试面试题 若有不正之处,希望谅解并欢迎批评指正. 请尊重作者劳动成果,转载请标明原文链接: http://www.cnblogs.com/dolphin05