面向对象是Java编程语言的核心概念,它允许我们将数据和操作数据的方法封装在一起,形成对象。在Java中,`static`关键字是面向对象编程中的一个重要特性,它与继承一起构成了Java的基础知识。 一、static关键字 1. 静态变量(类变量) `static`关键字用于声明类变量,这些变量在类的所有实例之间共享。这意味着,不论创建多少个对象,静态变量只有一份拷贝,存储在方法区中。在上述例子中,`Student1`类的`schoolName`被声明为静态,因此所有`Student1`的对象都将共享相同的学校名称,无需在每个对象中单独存储。静态变量可以通过类名直接访问,如`Student1.schoolName`,而无需创建对象。 2. 静态方法(类方法) 静态方法与类相关联,而不是与类的任何特定实例相关联。它们不能访问类的非静态成员(因为非静态成员是对象特有的),但可以访问静态成员。静态方法常用于工具类或辅助方法,例如计算、验证等。在没有对象的情况下,可以直接调用静态方法,如`Student1.printSchoolName()`。 3. 静态代码块 静态代码块在类加载时执行一次,用于初始化静态变量。它们在多线程环境中保证了初始化的线程安全,常用于设置类级别的初始状态。 二、继承 继承是面向对象编程的另一个关键特性,它允许一个类(子类)继承另一个类(父类)的属性和方法。子类不仅可以拥有自己的特性,还能访问父类的所有非私有成员。这有助于代码复用和创建层次结构,使得类之间的关系更加明确。 1. 继承语法 子类继承父类的语法是`class SubClass extends ParentClass`。子类自动继承父类的非私有字段和非私有方法,但不包括构造函数。如果需要,子类还可以覆盖父类的方法,实现自己的逻辑。 2. 子类实例化 创建子类对象时,会先执行父类的构造函数(如果有的话),然后执行子类的构造函数。这样确保了子类在实例化时,父类的状态也被正确初始化。 3. super关键字 在子类中,`super`关键字用来引用父类的成员。例如,`super.someMethod()`调用父类的`someMethod`方法,`super.someField`访问父类的`someField`字段。 4. final关键字与继承 `final`关键字可以应用于类、方法和变量,表示不可改变或不可继承。如果一个类被声明为`final`,则不能有子类。同样,`final`方法不能被子类重写,`final`变量一旦赋值就不能再改变。 总结: `static`关键字和继承是Java中面向对象编程的重要组成部分。`static`关键字提供了共享数据和无对象调用方法的能力,减少了内存开销。继承则促进了代码复用,让类之间的关系更加清晰。理解并熟练运用这两个特性是成为Java开发者的必备技能。在实际编程中,根据需求合理使用`static`和继承,能够提高代码的可读性、可维护性和效率。
剩余17页未读,继续阅读
- 粉丝: 0
- 资源: 13
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于python和协同过滤算法的电影推荐系统
- 国际象棋棋子检测3-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord数据集合集.rar
- Python毕业设计基于知识图谱的电影推荐系统源码(完整项目代码)
- 基于C++的简易图书管理系统(含exe可执行文件)
- 使用python爬取数据并采用Django搭建系统的前后台,使用Spark进行数据处理并进行电影推荐项目源码
- 商城蛋糕数据库sql源码
- 基于Spark的电影推荐系统源码(毕设)
- NET综合解决工具,windows平台必备
- ZZU 面向对象Java实验报告
- 2024年秋学季-C#课程的信息系统大作业winform