语法区别
关于静态方法和实例化方法的语法及使用区别在网上到处都可以找到,就不在这里赘述了。
相关知识点
通常认为,静态方法常驻内存,效率高但占内存。实则,静态方法和实例化方法在加载时机和占用内存一样,都是在第一次被使用到时进行加载。效率也基本上没有差别。
如果一个方法与他所在类的实例对象无关,那么它就应该是静态的,而不应该把它写成实例方法。
从面向对象的角度上来说,在抉择使用实例化方法或静态方法时,应该根据是否该方法和实例化对象具有逻辑上的相关性,如果是就应该使用实例化对象,反之使用静态方法。
早期的结构化编程,几乎所有的方法都是“静态方法”,引入实例化方法概念是面向对象概念出现以后的事情了,区分静态方法和实例化方法不能单单从性能上去理解,创建c++,java,c#这样面向对象语言的大师引入实例化方法一定不是要解决什么性能、内存的问题,而是为了让开发更加模式化、面向对象化。这样说的话,静态方法和实例化方式的区分是为了解决模式的问题。
参考文章:http://blog.sina.com.cn/s/blog_648738620100xfu3.html