【Java 基础】——面向对象

来源:互联网 发布:windows启动不了怎么办 编辑:程序博客网 时间:2024/06/05 10:24

  现在处于软考备考时期,紧张而有序,第一阶段J2SE的学习,差不多用了一个星期的时间,马士兵老师的J2SE,有一种相见恨晚的感觉。马老师不仅仅能把JAVA讲的诙谐幽默,通俗易懂,还会在学习方法上对我们进行指导,久旱逢甘霖的感觉是极好的!

  学完了之后,对面向对象的部分共鸣还是比较大的。原因:第一,之前所学的VB.NET、C#、VB,都跟它有多相似之处;第二、设计模式过后,再看面向对象,理解更加立体了。

  下面是我对这部分的总结:

  

  语言基础和结构与VB很类似,至于面向对象特征,VB是基于对象,不支持重载、接口、继承等, Java是纯面向对象的语言,支持这些面向对象的特性。

  面向对象设计很重要的一点就是抽象。不得不提一下接口抽象类。接口中只能定义方法和常量,但是不能有变量和方法的实现,它是一种特殊的抽象类。使用抽象类,继承这个抽象类的子类类型比较单一,因为子类只能单继承抽象类;而子类能够同时实现多个接口,因为类型比较多。

  Java接口和Java抽象类的存在就是为了用于具体类的实现和继承的,如果你准备写一个具体类去继承另一个具体类的话,那你的设计就有很大问题了。Java抽象类就是为了继承而存在的,它的抽象方法就是为了强制子类必须去重写的。

   此处还有一点,特别特别重要,就是内存分析,这部分要是搞懂了,以后走遍中国面试都没问题了。

栈:存放局部变量,形参(定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传递的参数)、实参(调用时传递给函数的参数,即传递给被调用函数的值)。对于栈的内存,方法一旦调用完成,内存立马就消失。

堆:存放new出来的对象,成员变量。堆的内存使用完成后,不是马上消失的,当没有任何一个引用指向堆中对象,垃圾回收器翩翩而来,优雅的把它收走~

数据区:静态变量(属于整个类,非私有)存放在这,只能存放一份,字符串常量也存放于此。

代码区:存放代码。


  Java是一种面向对象的语言。Java虚拟机让该语言拥有了一次编译,多平台运行的超强适应能力,垃圾收集机制,让计算机的内存得到了更充分的利用。这样一种吸收了C/C++语言精华,去其槽粕的语言,怎么能不让大众喜欢呢?Java之路刚刚开始,期待软考过后的再次相遇。

总结很简单,还望多多指正!



1 0
原创粉丝点击