Java面向对象深入:静态属性与方法
需积分: 10 171 浏览量
更新于2024-08-18
收藏 414KB PPT 举报
"Java面向对象深入,探讨了静态属性、静态方法、静态修饰符static的使用,以及在类和对象中的应用。"
在Java面向对象编程中,静态属性(也称为类变量)是所有对象共享的数据成员。这意味着无论创建多少个对象,静态属性都只有一个副本,它存储在内存的静态存储区。例如,在类`Circle`中有一个静态属性`radius`,其值在内存中的地址是固定的,如0x3000或0x8000。可以通过类名(如`Circle.radius`)或对象名(如`q.radius`或`p.radius`)来访问静态属性。
静态属性的特点是,当通过一个对象修改静态属性时,所有其他对象都能看到这个变化。在练习中,创建了两个`Circle`对象`c`和`d`,如果修改`c`的`pi`,那么`d`的`pi`也会随之改变,因为它们都引用同一个静态变量。
除了静态属性,还有静态方法。静态方法不需要创建对象就可以调用,它直接属于类,而不是属于任何特定的对象。例如,`Circle`类中可以有`getPi()`和`getRadius()`这样的静态方法,用于获取`pi`和半径的值。静态方法可以通过类名直接调用,如`Circle.getPi()`,也可以通过对象实例调用,如`c.getPi()`。但静态方法不能访问非静态成员,因为它不与特定对象关联,所以不能使用`this`关键字,并且不能被非静态方法覆盖。
静态修饰符`static`还可以用于静态代码块,这些代码块在类加载时执行一次,用于初始化静态属性。静态代码块的执行优先级高于非静态代码块和构造方法。同时,`main`方法是每个Java应用程序的入口点,它必须是public、static和void返回类型,接收一个`String[]`类型的参数`args`,表示命令行参数。
在类和对象初始化的过程中,静态属性首先被初始化,然后是父类的静态属性和非静态属性,最后是子类的静态和非静态属性。在同一个类内,初始化顺序为:1) 隐式赋予变量默认值,2) 显示赋予初始值,3) 构造方法体赋予新值。
了解并熟练运用这些概念对于深入理解Java面向对象编程至关重要,它可以帮助我们更好地设计和实现类,优化代码结构,提高程序效率。在实际开发中,合理利用静态属性和方法可以有效地减少资源消耗,特别是在需要全局共享数据或者不依赖对象状态的场景下。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2013-10-25 上传
2023-11-09 上传
2022-11-01 上传
2011-12-12 上传
2021-06-24 上传
2021-05-17 上传
四方怪
- 粉丝: 28
- 资源: 2万+
最新资源
- Python中快速友好的MessagePack序列化库msgspec
- 大学生社团管理系统设计与实现
- 基于Netbeans和JavaFX的宿舍管理系统开发与实践
- NodeJS打造Discord机器人:kazzcord功能全解析
- 小学教学与管理一体化:校务管理系统v***
- AppDeploy neXtGen:无需代理的Windows AD集成软件自动分发
- 基于SSM和JSP技术的网上商城系统开发
- 探索ANOIRA16的GitHub托管测试网站之路
- 语音性别识别:机器学习模型的精确度提升策略
- 利用MATLAB代码让古董486电脑焕发新生
- Erlang VM上的分布式生命游戏实现与Elixir设计
- 一键下载管理 - Go to Downloads-crx插件
- Java SSM框架开发的客户关系管理系统
- 使用SQL数据库和Django开发应用程序指南
- Spring Security实战指南:详细示例与应用
- Quarkus项目测试展示柜:Cucumber与FitNesse实践