最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

Java基础知识回顾之static应用与总结

XAMPP下载 admin 580浏览 0评论
 前面两篇分别介绍了static的属性以及方法。本篇就做一个收尾,介绍下剩下的。

在之前的总结:

不管多少个对象,都使用同一个 static 属性
使用 static 方法可以避免掉用实例化方法之后才能调用的限制。
导入 static 类的包
静态导入包
静态导包用法,将类的方法直接导入到当前类中,从而直接使用“方法名”即可调用类方法,更加方便。但是看上面的就不是特别直观,不便于阅读代码。

Utils.java

package statics.utils;

public class Utils {

public static int int2Str(String str) {
return Integer.valueOf(str);
}

public static int add(int x, int y) {
return x+y;
}
}
Test.java

// 导入包 注意使用了 static 关键字
import static statics.utils.Utils.*;

public class Test {

public static void main(String[] args) {
// 上面使用了 static 关键字之后,可以直接使用 Utils 中的方法。
add(1, 2);
}
}
通过 类名.方法名
Test.java

// 导入包 注意没有使用 static 关键字了
import statics.utils.Utils;

public class Test {

public static void main(String[] args) {
// 上面使用了 static 关键字之后,可以直接使用 Utils 中的方法。
Utils.add(1, 2);
}
}
static 的实例用法
对于了解了static 方法之后,在来看几个实际的例子回顾与加深下对 static的理解。

示例一:实现类实例化的统计
需求

希望在每次实例化对象的时候,都打印一个信息,输出产生第 x 个实例化对象。

Test.java

class Book {

static int Index = 0;

Book(){
Index++;
System.out.println(“实例化对象第”+ Index + “个”);
}
}

public class Test {

public static void main(String[] args) {
new Book();     new Book();     new Book();
new Book();     new Book();     new Book();
}
}
控制台输出

实例化对象第1个
实例化对象第2个
实例化对象第3个
实例化对象第4个
实例化对象第5个
实例化对象第6个
示例二:实现属性的自动设置
需求

例如:现在某一个类有一个无参构造方法,一个有参构造方法,有参构造主要的目的是传递一个 title 属性,但是希望调用的不管是 有参构造方法还是无参构造方法,都可以为 title 设置内容,希望内容不要重复。

Test.java

class Book {

private String title;
static int Index = 0;

Book() {
// 通过 this 关键字调用有参构造方法
this(“NOTITLE” + Index++);
}

Book(String title) {
this.title = title;
}

public String getTitle() {
return this.title;
}
}

public class Test {

public static void main(String[] args) {
System.out.println(new Book(“java”).getTitle());
System.out.println(new Book().getTitle());
System.out.println(new Book().getTitle());
}
}
控制台输出

java
NOTITLE0
NOTITLE1
总结
static 属性和方法可以再没有实例化对象的时候直接由类名称进行调用。
static 属性保存在全局数据区。内存区一共有四个:栈内存、堆内存、全局数据区(存放所有的数据)、全局代码区(存放所有的方法)

转载请注明:XAMPP中文组官网 » Java基础知识回顾之static应用与总结

您必须 登录 才能发表评论!