首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
静态方法何时使用
时间:
2016-05-19 14:56:11
阅读:
104
评论:
0
收藏:
0
[点我收藏+]
标签:
如果某些操作不依赖具体实例,那它就是静态的,反之如果某些操作是依赖具体实例的(例如访问一个特定会员的名称),那它就应该是实例化的。
静态方法不用new对象可以直接调用
1.与类相关与对象无关
2.不需要对象的“轻”方法
3.工厂方法
如果某个方法是用频率较高,或者方法本身通用性较强,无需初始化类成员变量,则可以使用静态方法,那样方便,速度也快.
可以直接拿来就用的方法,就算是静态的.
肯定不涉及具体对象,因为静态方法内,是无法直接使用任何非静态成员的。
(1)制作工具类
(2)可以当作"作局"对象或方法来使用
静态方法和实例方法是一样的,在类型第一次被使用时加载。调用的速度基本上没有差别。
静态方法不用创建实例就可调用,比较简单从面向对象的角度上来说,在抉择使用实例化方法或静态方法时,应该根据是否该方法和实例化对象具有逻辑上的相关性,如果是就应该使用实例化对象 反之使用静态方法
不需要生成对象的
经常频繁使用的
工具类里的(如SqlHelper)
适当地使用static方法本身并没有什么,当一个人从来不懂使用多态、接口设计时,很自然地会滥用static方法。
个人理解在多个类中需要调用并且是与对象无关的方法可设为静态方法,方便调用。
所有对象共有的方法
再不关系到任何于特定对象相关的操作
比如学生的年龄就是学生的相关。
修改学生的年龄就不适合用静态方法。
一般来说,如果你的方法里没有用到this关键字,
那就适合用静态方法
通常通用的类中一些常用的方法可以设计为静态类
只要是没有用到类的状态信息,只从参数获取信息的都可以为静态的
可以实现某些特殊的设计模式:如Singleton
由于没有this指针,可以把某些系统API的回调函数以静态函数的形式封装到类的内部
可以封装某些算法,比如数学函数,如ln,sin,tan等等,这些函数本就没必要属于任何一个对象,所以从类上调用感觉更好
总之,从OOA/OOD的角度考虑,一切不需要实例化就可以有确定行为方式的函数都应该设计成静态的
静态方法与非静态方法最明显的区别就是如果某个方法是公共静态的,那么可以直接通过类名.方法名的方法来调用,而公共实例方法则需要事先实例化对象,然后才能调用。
这些各种说法,基本上都是正确的。
静态方法何时使用
标签:
原文地址:http://www.cnblogs.com/qianduanjingying/p/5508355.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!