Java - static的注意点

简介: 静态函数与静态变量无需生成对象 静态函数只能调用静态变量 装载类的时候执行静态代码块 静态函数中不能使用this /* * For test static * 2014-10-26 */public class JavaTest { public static void main(String args[]){ TestStatic.

静态函数与静态变量无需生成对象

静态函数只能调用静态变量

装载类的时候执行静态代码块

静态函数中不能使用this


/*
 * For test static
 * 2014-10-26
 */
public class JavaTest  {
	public static void main(String args[]){
		TestStatic.i = 10;	//第一次赋值,未创建对象
		TestStatic T1 = new TestStatic();
		TestStatic T2 = new TestStatic();	//创建两个对象
		System.out.println("The T1.i = " + T1.i);
		System.out.println("The T2.i = " + T2.i);
		T1.i = 20;	//给其中一个对象的i赋值
		System.out.println("Change the value of T1.i");
		System.out.println("The T1.i = " + T1.i);
		System.out.println("The T2.i = " + T2.i);
		TestStatic.method1();	//查看目前的i值
	}
}

class TestStatic{
	static int i;
	static String arg1;
	static{
		System.out.println("Now loading the 'TestStatic' class");
	}
	static void method1(){
		System.out.println("The current i is " + i);
	}
}

输出结果:

Now loading the 'TestStatic' class
The T1.i = 10
The T2.i = 10
Change the value of T1.i
The T1.i = 20
The T2.i = 20
The current i is 20


----------------------------------------------------------------------------------------------------------------------

装载TestStatic类时,打印出了Now loading the 'TestStatic' class。对static int i赋值10,对象i的值都是10。

改变i的值,TestStatic对象的i值都会变。

目录
相关文章
|
1月前
|
存储 安全 Java
探索 Java 静态变量(static)的奥秘
本文深入探讨了Java中的静态变量(`static`),从初印象、使用场景、访问方式、初始化、线程安全、优缺点到最佳实践,全面解析其特性和应用场景。静态变量属于类而非实例,适用于共享数据、定义全局常量和工具类中的变量。它在类加载时初始化,生命周期贯穿整个程序运行。然而,多线程环境下需注意线程安全问题,可通过`synchronized`或原子类解决。优点包括共享数据方便和提高性能,但也存在线程安全和代码耦合度增高的缺点。最佳实践建议谨慎使用、保证线程安全、遵循命名规范并封装访问。掌握静态变量的正确用法,能让你的代码更加高效简洁。
68 11
|
3月前
|
设计模式 JavaScript 前端开发
java中的static关键字
欢迎来到瑞雨溪的博客,博主是一名热爱JavaScript和Vue的大一学生,致力于全栈开发。如果你从我的文章中受益,欢迎关注我,将持续分享更多优质内容。你的支持是我前进的动力!🎉🎉🎉
70 8
|
3月前
|
存储 Java
Java 中的静态(static)
【10月更文挑战第15天】静态是 Java 语言中一个非常重要的特性,它为我们提供了一种方便、高效的方式来管理和共享资源。然而,在使用过程中,我们需要谨慎考虑其优缺点,以确保代码的质量和可维护性。
|
4月前
|
Java 程序员
Java 面试高频考点:static 和 final 深度剖析
本文介绍了 Java 中的 `static` 和 `final` 关键字。`static` 修饰的属性和方法属于类而非对象,所有实例共享;`final` 用于变量、方法和类,确保其不可修改或继承。两者结合可用于定义常量。文章通过具体示例详细解析了它们的用法和应用场景。
61 3
|
4月前
|
Java 编译器
在Java中,关于final、static关键字与方法的重写和继承【易错点】
在Java中,关于final、static关键字与方法的重写和继承【易错点】
52 5
|
4月前
|
Java
Java关键字 —— static 与 final 详细解释!一看就懂 有代码实例运行!
这篇文章详细解释了Java中static和final关键字的用法,包括它们修饰类、方法、变量和代码块时的行为,并通过代码示例展示了它们的具体应用。
352 0
Java关键字 —— static 与 final 详细解释!一看就懂 有代码实例运行!
|
5月前
|
存储 Java
Java之静态(static)与实例(instance)
Java之静态(static)与实例(instance)
128 5
|
6月前
|
Java
【Java基础面试四十一】、说一说你对static关键字的理解
这篇文章主要介绍了Java中static关键字的概念和使用规则,强调了类成员与实例成员的区别及其作用域的限制。
|
6月前
|
存储 Java 对象存储
【Java基础面试四十三】、 static和final有什么区别?
由于网络原因,我无法获取到您提供的链接内容。如果需要我解析该网页,请确保链接有效并重试,或者提供其他问题,我会尽力帮助您。
|
6月前
|
Java
【Java基础面试四十二】、 static修饰的类能不能被继承?
这篇文章讨论了Java中static关键字修饰的类是否可以被继承,解释了静态内部类的概念、规则以及如何实例化。

热门文章

最新文章