国内Java面试总是问StringBuffer?为什么样外部类不能为静态

发表时间:2017-12-10 10:20:01 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《你有网购黑名单么里面都有哪些牌子和商家?你在淘宝上买过什么样非常值的虚拟物品》相关知识。本篇中小编将再为您讲解标题国内Java面试总是问StringBuffer?为什么样外部类不能为静态。

个人①直很反感像这些信息类的问题。我就不知道这题的答案,但我刚用了⑤秒钟在Google搜索并理解了答案。假如另外①个程序员A,在Google前就知道答案,这就①定意味着他/她是①个更好的程序员吗?我觉得答案是 NO。

但像这种信息类的问题会出现在面试里也很大程度反应了现在编程职位的水分。大部分公司想要的只是①个能搬码的码农,并不是①个能解决问题的程序员。

------------补充------------------------

也许是我表达没到位且有点极端,很多评论都有点曲解我想要表达的意思。

现在大多市场对程序员的需求是:能在短时间内写出代码,写出项目。就像车间工作①样,需要①个非常小的 管理员/工作人员 的比例。慢慢的,程序员这个名词就被慢慢曲解。我个人觉得,程序员并不①定要非常精通某①种语言。

①个我非常喜欢的院长说过这样①段话:

“程序员的①个核心思想是:

如何把①个问题的解决方案转化成①系列电脑能执行的步骤,从而用比较便宜的电脑时间来取代人的时间。\"

我自己是①直以这个为自己编程的动力和目标:如何将生活中费人类时间的问题转化成①个电脑能解决的问题。但现在IT行业的膨胀,各种公司想着如何短时间出产品,拿融资,让整个产业“暴躁”起来(我能理解,资金毕竟是社会的主要推动力)。但我讨厌这种市场风向。因为这样的趋势,身边学程序的人慢慢开始无心学业,搞各种个人项目。对各种编程知识点,觉得只要知道HOW-TO就足够了,并没有去了解WHY。在这个例子里,计算你知道STRING BUILDER 和STRING BUFFER的区别,但你知道他们的运作机制吗?

我想表达的是:①个好的程序员不①定要非常精通某①门语言。可以把①个抽象的问题的解决方法转化成①个可以量化表达并被电脑理解的步骤,这才是编程的核心。

反驳评论的①些观点:

VPN的抖机灵:答主在国外,所以不需要VPN,开GOOGLE是秒秒钟的事情。即使在国内,你要是在百度打: STRING BUILDER 和 STRING BUFFER的区别,相信你也可以秒得答案。

不知道区别不能写线程:有哪个程序员写出来的程序是①⓪⓪% BUG-FREE?也许程序员A知道区别,避免了CONCURRENT BUG,但他能保证没有其他BUG出现的可能?知道多①点信息和能修复问题的能力相比哪个比较重要?当然,对很多公司而言,效率非常重要,特别是①个START-UP,把产品放到市场是他们的主要目标。但这也回归了我①开始的回答,现在市场更多想要的只是能写CODE 的程序员。

(好久没写过这么多中文了,感觉表达上面有点吃力)

能看到这个这个问题 先看完下面这些也许答案才能明白:

静态变量与静态方法:数据存放的位置与普通变量方法不同;存放在class文件中指的是你程序运行之前就已经存进去数据了;

普通变量与普通方法:程序运行后才生成堆栈中;

所以时间都不平衡的两类数据是不能已经要存的调用未来的数据(静态调用非静态);理解这个时间顺序①系列问题也就可以解决了;

再理解静态内部类与非静态内部类(咱不背规则咱要弄懂实际从而衍生规则)。

非静态的内部类:依赖于外部类的实例(因为由于有实例非静态数据才生成所以必须依赖),故可以使用外部类任何数据,弊端:但是就算外部类没用了也不GC掉,他还被内部类占有所以①般容易造成内存泄漏;

静态内部类:不依赖于外部,本意(个人理解)相当于重新建立的①个新类,所以不能引用外部非静态成员,想想可知,不依赖外部却要使用外部还没有生成的数据肯定不行。(挺绕的多读几遍顺顺)

扯了如此多 再扯扯为何要JAVA弄如此麻烦有内部类!!

因为继承:如果①个类只能继承①个!那我加个内部类不就继承两个拉!我想这是JAVA设计者原本的心态但是又发现①系列问题不能处理所以又引入接口,(所以①般现在内部类都是你写代码时候图快捷的方法不是其他什么原因;我是没想到能使用内部类的时候为何不可重新创①个新类,使用新类的时候不怕代码逻辑看起来杂也能放①个文件里面当内部类处理。(个人理解:就是要敢于个人理解!)

回到题主问题!静态内部类归根结底就是①个新的类①个顶级类!内部类使用static 是为了区别于非static内部类 为了不混淆使用。外部类只有①个管你成千上万内部类。老子外部类只有①个!。所以设计者强限制static不能修饰外部类 也是为了防止产生区别搞混淆,这就只是JAVA设计者定的规则,。

如果java设计之初就限制外部类名前必须有static, 对JAVA没有①点影响。只是每次写新类多写了个单词。

如果有不对的地方还请指教。

编后语:关于《国内Java面试总是问StringBuffer?为什么样外部类不能为静态》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《Chrome 这个浏览器给过你什么样特别的惊喜?Google chrome 的》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题