8.8 final 关键词
- final 定义不能被继承的类;不能被覆写的方法,常量
- 最重要作用,定义全局常量
demo1 final
public class HelloWorld {
public static final String INFO = "mldn";// 定义全局常量;
public static void main(String args[]){
String strA = "www.mldn.cn";
String strB = "www." + INFO + ".cn";
System.out.println(strA == strB);// true
}
}
具体来说:
public 表示该常量对外可见,可以被任何类访问;
static 表示该常量属于类,而不是类的实例,可以直接通过类名访问;
final 表示该常量是不可变的,一旦被初始化就不能再被修改,因此其值在程序运行期间保持不变。
最后,String 表示该常量是一个字符串类型的变量。
通常情况下,Java 中常量的命名规范是使用大写字母和下划线组成的,以便与变量区分开来。
- 上面demo中的static 含义
在 Java 中,static 关键字用于修饰类成员,包括变量、方法和代码块等。它表示该成员属于类本身,而不是类的实例,因此可以直接通过类名访问。
1.对于 static 变量,它可以被所有实例共享,只有一个副本存在于内存中,而且通常称之为“类变量”。
2.对于 static 方法,它也不依赖于对象实例,因此不能访问非静态成员变量,通常称之为“类方法”。
需要注意的是,static 成员属于类,而非属于具体的对象实例,因此无需创建对象即可进行访问。
同时,通过类名访问成员可以更加清晰地表达逻辑意义,特别是在需要在多个类之间共享数据或方法时,使用 static 成员可以减少不必要的对象创建和内存开销。
demo2 static
class Person {
private static int count = 0; // 定义类变量
private String name;
public Person(String name) {
this.name = name;
count++; // 修改类变量--不用实例化就可以访问,不用用this.count格式;
}
public static int getCount() { // static方法,其中只能访问static属性
return count;
}
public void sayHello() {
System.out.println("Hello, my name is " + name);
}
}
class HelloWorld {
public static void main(String[] args) {
Person p1 = new Person("Alice");
Person p2 = new Person("Bob");
System.out.println(Person.getCount()); // 输出:2
p1.sayHello(); // 输出:Hello, my name is Alice
p2.sayHello(); // 输出:Hello, my name is Bob
}
}
相信坚持的力量,日复一日的习惯.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!