设为首页 - 加入收藏
广告 1000x90
您的当前位置:144177黄大仙有求必应 > 静态方法 > 正文

Java中为什么要有静态方法 和非静态方法之分

来源:未知 编辑:admin 时间:2019-07-10

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部静态方法没有对象,也就没有对象的数据,无法用于多个实例,或是数组之类的场合。

  再有一个理解,这两者的区别是,非静态方法隐式的将当前对象作为参数传递了进去。

  如果全部都是静态方法,那么代码其实就类似C或者BASIC了,不是面向对象了。

  展开全部静态的方法和属性,你可以这么理解,就是所有对象公用的,比如一个属性是这样定义的:

  那么他的意思就是说,因为他是静态的,我所有的对象的name属性全部都一样,

  如果我有n个这个类的对象,我改变其中一个对象的name属性,所有的对象的name属性全部会变化。所以,static关键字的特点,你可以理解为公用性。

  同样的,静态方法和非静态方法的区别也显而易见,因为所有的对象都拥有同样的东西,那么静态方法,通常我们不会用对象去调用,而是直接用类名去点。

  而且静态方法中是不允许使用this关键字的,因为它并不唯一属于任何一个对象,

  展开全部静态方法在JVM加载时放入内存了,在程序的运行过程中随时可以调用,不需要去实例化对象,在容器销毁前,这个对象一直在内存中,如果你所有的方法都是静态的,那么对你的内存要求过高

  非静态方法所在对象,你什么时候想要就实例化这个对象,实例化后才放入内存中,待不用了之后,JAVA 的GC机制会回收不用的内存,而你的静态方法所在的对象一直在内存中

  知道合伙人软件行家采纳数:6851获赞数:11128没有做不到,只有想不到,帮助别人的同时也是对自己的提升向TA提问展开全部静态方法通常是提供给外部调用,无需实例对象即可调用

  通常用来做一些很通用的事情就会做成静态的,因为静态方法,静态变量都会占用静态内存区域

本文链接:http://that-a-way.com/jingtaifangfa/383.html
上一篇:java 静态方法和实例方法的区别
下一篇:没有了

相关推荐:

网友评论:

栏目分类

现金彩票 联系QQ:24498872301 邮箱:24498872301@qq.com

Copyright © 2002-2011 DEDECMS. 现金彩票 版权所有 Power by DedeCms

Top