Java static关键字
来源:互联网 发布:北欧沙发品牌 知乎 编辑:程序博客网 时间:2024/06/18 04:23
static 关键字
static可以修饰类(内部类),成员变量,方法
局部变量不能用static修饰
static修饰成员变量
static修饰的成员变量称为静态成员变量,没有使用static修饰的变量叫做实例成员变量
静态成员变量与实例成员变量的区别
1.从变量的个数上讲
静态成员变量归整个类所有,由所有的对象所共享
改变了静态成员变量的值,其他对象调用的结果是修改后的结果,影响其他对象。
实例成员变量归当前对象所有,值的改变不影响其他对象。
2.访问方式
静态成员变量的推荐访问方式,通过类名.静态成员变量的方式访问。
3.初始化时间
类初始化的时候静态成员变量初始化,实例成员变量在创建对象时才会初始化,静态成员
变量初始化早于实例成员变量,静态成员变量不依赖对象而存在。
static修饰方法
使用static修饰的方法称为静态方法
没有使用static修饰的方法称为实例方法
1.从访问方式上讲
静态方法既可以通过类名来访问也可以通过指向对象的引用来访问(不推荐)
2.成员的访问
静态方法只能访问类中的静态成员,不能访问实例成员
实例方法既可以访问静态成员,也可以访问实例成员
3.this和super的使用
静态方法中不能使用this与super。
而实例方法中可以使用this与super。
public class Static { //静态成员变量 static int x=1; //实例成员变量 int y = 2; public void method(){} public static void method1(){} public static void main(String[] args) { Static s = new Static(); Static s2 = new Static(); s.y=3; System.out.println("y的值:"+s2.y); s.x=3; System.out.println("x的值:"+s2.x); //实例方法的调用 s.method(); //静态方法的调用 s.method1(); Static.method1(); method1(); }}y的值:2x的值:3
静态成员变量的初始化
1.声明处初始化
2.使用静态初始化块
3.两种初始化执行顺序,按代码编写顺序执行
不能在构造器中对静态成员变量进行初始化,因为构造器在创建
对象的时候才会得到执行。而静态成员变量不需要创建任何对象
就能够进行访问。
public class StaticInit { //声明处初始化 static int x=getX(); //静态初始化块 //静态初始化块会在初始化类时得到执行(在main方法执行之前执行) static{ x = 2; System.out.println("静态初始化块"); } public static int getX(){ System.out.println("声明处初始化"); return 5; } public static void main(String[] args) { System.out.println("main方法"); }}声明处初始化静态初始化块main方法
- Java this关键字,static关键字
- Java static关键字,final关键字
- JAVA STATIC 关键字
- Java中的static关键字
- JAVA中的static关键字
- Java 中 static 关键字
- java static关键字
- java static关键字
- Java关键字final、static
- java中static关键字
- Java中static关键字
- java中static关键字
- java中关键字:static
- JAVA中的static关键字
- java中的static关键字
- java关键字 static
- java中的static关键字
- java关键字static
- Servlet的POST和GET的区别
- eclipse导入工程出错解决
- 饿汉式不用同步代码块实现线程安全的问题
- mac环境变量
- 进口商贸易融资工具:假远期信用证
- Java static关键字
- css cursor鼠标指针光标样式default pointer hand url
- java java.lang.NoClassDefFoundError错误,基于eclipse下开发
- git 回滚到某个版本
- 在bolg中学习一波,持续添加,欢迎推荐
- FILEUTILS 介绍
- 决策树ID3算法
- SEO
- ActiveMQ消息传送机制以及ACK机制详解