ABAP OO静态和实例方法区别
来源:互联网 发布:淘宝专卖店是正品吗 编辑:程序博客网 时间:2024/05/22 12:53
静态方法有什么弊端?
问:我翻看一些源码工程时看到几乎没有什么静态方法唯独Ms的SQLHelper中几乎全是静态方法 为什么呢?
答1:在一些系统中使用非常频繁的方法都使用静态方法可以提高系统性能我是这么认为的 :)
答2:本身不可升级, 重写 这要看一个软件产品的目的是什么了.
答3:为了方便,不用实例化,但这样程序编译运行时就占用了系统资源
答4:静态的属性和方法在程序启动的时候,就全部装入内存的,而不管这些方法、属性以后有没有用到。即使是没有人再访问程序,这部分内存仍然不会释放还有就是,所有访问者看到的静态属性的数据几乎都是一样的,比如A用户设置了UserName这个属性,B用户访问的时候,得到的UserName仍然是A用户设置的那个。这种特性,如果用在固定数据中,那不会有太大问题,比如连接字符串之类的
答5:静态方法/数据成员是属于类的,不是属于某一个对象的,因而调用它不需要实例化;静态方法和静态数据成员相当于共享变量。为该类的所有对象所共有,因而在需要共享数据时,定义这种类型时很好的选择。 一但定义一个类后(不一定要实例化对象)该类的所有静态成员就载入内存(并不是程序启动,就装入内存,没有定义该类时它不会载入内存) 静态成员的作用域与它所属的类的作用域相同
Simply, a class method ( aka "static method")is a property for the WHOLE class , so its's called as className.methodName().
BUT for instance methods, then each object have their own copy of them, so they r called as objectName.instanceMethodName().
Second difference :
-class ("static")methods can access ONLY static fields
-but instance methods can access ANY fields of the class .
A third a bit advanced difference is that class (Static) methods are bound to the class at compile time , while instance methods are bound to their objects at run time
- ABAP OO静态和实例方法区别
- 静态方法和实例方法的区别
- 静态方法和实例方法的区别
- 静态方法和实例方法的区别
- 静态方法和实例方法的区别
- 静态方法和实例方法的区别
- 静态方法 和 实例方法 的区别
- 静态方法和实例方法的区别
- 静态方法和实例方法的区别
- 静态方法和实例方法的区别
- Java静态方法和实例方法区别
- ABAP OO 面向对象语法 ---实例看 "=" 与 "?=" 的区别
- 类的静态方法和实例方法的区别
- 静态方法和实例化方法的区别
- 经典:静态方法和实例方法的区别
- 深入浅出剖析静态方法和实例方法的区别
- 静态方法和实例化方法的区别
- Java 静态方法和实例方法的区别
- FFmpeg和SDL的API
- 非递归遍历二叉树
- SQL server2008 收缩数据库日志文件
- 页面缓存概述
- C#数组
- ABAP OO静态和实例方法区别
- 高盛:若中国信贷泡沫破裂或面临18.6万亿坏账
- 详解struts2中struts.properties
- Java微信公众平台开发模式+自定义按钮源码
- [精华] AppStore发布产品步骤
- 多校第五场
- C++ +小结2 继承, 多态和引用
- C++ static常见用法
- redis数据结构之字符串