Value{static int c=0;static void inc(){c++;}}class Count{public static void prt(String s){System.out.println(s);}public static void main(String[] args){Value.v1 = new Value();Value.v2 = new Value();prt("v1.c=" + Value.c + " v2.c=" + Value.c);Value.inc();prt("v1.c=" + Value.c + " v2.c=" + Value.c); }} 在这个例子中,`Value.c` 是静态变量,这意味着无论创建了多少 `Value` 类的实例,`c` 只会有一份存储空间,所有的实例都会共享这个值。在 `main` 方法中,首先输出 `v1.c` 和 `v2.c` 的初始值,因为此时还未调用 `inc` 方法,所以两个值都为0。接着调用 `inc` 方法增加 `c` 的值,然后再次输出 `v1.c` 和 `v2.c`,这时它们都变成了1,显示了静态变量的共享特性。 二、this 关键字 `this` 关键字在 Java 中用于引用当前对象。当你在一个方法或构造器中使用 `this`,它指的是调用该方法或构造器的那个对象。例如: ```java class Person { String name; Person(String name) { this.name = name; // 使用 this 引用当前对象的 name 属性 } void display() { System.out.println("Name: " + this.name); } } ``` 在这个例子中,`this.name` 表示当前 `Person` 对象的 `name` 属性,避免了属性名与参数名冲突的情况。 三、super 关键字 `super` 关键字用于访问父类的成员,包括字段和方法。当你在子类中重写父类的方法或者想要引用父类的字段时,可以使用 `super`。例如: ```java class Parent { int age; Parent(int age) { this.age = age; } } class Child extends Parent { Child(int age) { super(age); // 调用父类的构造器 } void display() { System.out.println("Age from child: " + super.age); } } ``` 在这个例子中,`Child` 类继承了 `Parent` 类,并在构造器中使用 `super(age)` 调用了父类的构造器。在 `display` 方法中,`super.age` 访问了父类的 `age` 字段。 四、final 关键字 `final` 关键字有三种用法:修饰类、方法和变量。 - **修饰类**:如果一个类被声明为 `final`,则不能有子类。 - **修饰方法**:一个 `final` 方法不能被子类重写。这保证了子类不能改变父类中特定方法的行为。 - **修饰变量**:`final` 修饰的变量一旦赋值后就不能再改变,可以是实例变量或静态变量。如果是类的静态常量,通常配合 `public` 一起使用,构成常量池的一部分。 例如: ```java final class Singleton { // 确保此类不能被继承 private static final Singleton INSTANCE = new Singleton(); // 单例模式,实例化后不能再创建其他实例 private Singleton() {} // 私有构造器 public static Singleton getInstance() { return INSTANCE; } } class Base { final int constant = 42; // 常量,不能被修改 final void method() {} // 不能被重写 } ``` 总结,`static`、`this`、`super` 和 `final` 这四个关键字在 Java 中扮演着关键角色,它们分别用于处理类级别的成员、对象引用、继承关系和常量的定义。理解并熟练掌握这些关键字的用法是 Java 编程的基础。在实际编程中,合理使用这些关键字可以帮助编写出更加清晰、高效的代码。





剩余22页未读,继续阅读















- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 飞秒激光加工蓝宝石中的应力场分析与COMSOL仿真应用
- 电动汽车能耗优化中A-Master-Slave-Salp-Swarm算法与HESS控制策略的应用
- 新能源电动汽车VCU及BMS硬件在环仿真建模与应用
- MATLAB数据拟合技术详解:线性拟合、指数拟合及插值方法的应用
- 基于LabVIEW的液压泵试验台自动化程序开发与功能详解
- LabVIEW液压马达试验台程序:多功能控制与数据处理系统
- 逆变器PCS储能变流器开发文档解析:基于28335+STM32F417的500KW控制系统
- 合创HCSA变频器方案:原理图、PCB、源代码及文档详解
- 英威腾CHE100-2406变频器:参数设置、故障排除及应用实例详解
- 500kW储能变流器(T型三电平模块)硬件设计与资料解析
- 自动驾驶多传感器联合标定:激光雷达到相机图像坐标系标定工程及圆心检测
- 基于Matlab与FPGA的混频sin信号FFT验证:双平台功能设计与比对
- Comsol仿真高Q谐振圆二向色性在光学与材料科学研究中的应用
- C++实现扩展有限元法处理多裂缝相交及不同渗透率分布
- MATLAB中PCA-GRU回归预测模型的实现及其性能评估
- 光学超结构模型的FDTD与COMSOL仿真:从MIM到超表面BIC的实践指南



评论0