从2015年9月份开始接触到java语言,一开始学习并不上心,而且一直在找自学资源,在没有大牛带的情况下,一直拖到2016年3月份,正式开启了我的java自学之路,现在的我还处在刚入门阶段,谈谈自己学习java的一点心得体会。
在学习了一段时间 Java之后,我觉得要自学一门计算机语言并不难,而且网上分享资源的其实并不少,我得到最重要的一点就是,要自学一样东西,最重要的就是要果断,像我之前就是一直想了解多一点,想要更好的计划学习方案,才一直浪费了很多时间。现在我知道了,最好的学习计划,其实一直在路上,Java是一个很庞大的知识体系,想要全面了解它包含了什么再去学习,无疑是自讨苦吃,每多学习一点,你才会更清楚自己的方向和目标,才能有更好的下一步计划,网上那些一大堆的什么学习路线、学习规划,都是空谈,每个人都有自己的不同的,但Java基础其实是一样的,所以有想法就马上开始学吧,千万不要再拖。
记录一下我对Java几大特征的一些理解,希望能为所有刚上路的人提供一点小参考。
所谓几大特征,就是继承、多态、封装、抽象(有的人认为抽象不是)。
在说特征之前,我说一下自己对面向对象的理解,还有它和面向过程的区别。假设一群孩子在玩游戏,我们设定这是一个系统,对象是小孩,过程是游戏。面向过程就是先创建一个游戏,然后把小孩子连起来形成了系统;而面向对象就是先创建一个小孩,以这个小孩为模本创建出一群小孩,把小孩连起来形成系统。这仅仅是我的理解,仅供参考,或者你认为不对可以忽略。
一、抽象
有的认为抽象不属于几大特征之一(各有各的说法),没关系,我先说。所谓抽象,我觉得是面向对象编程的一个重要的基础就是抽象。因为在Java语言里面,它把所有有共同特征的对象全部抽象起来,归为一个类。
比如:老人、青年、小孩归为人类
兔子、狮子、老虎归为动物
动物和人类再归为生物...
只要形成了这种抽象的概念,看java代码就不会觉得太吃力,我觉得抽象是它的核心思想。
二、继承
上面抽象就提到把具体的对象,抽象成一个个类,那么所谓继承就是父子的关系。特别说明一个只能有一个父类,但可以有多个子类。
比如:动物、人继承了生物的特点
老人、青年、小孩继承了人的特点
兔子、狮子、老虎继承了动物的特点..
抽象是层层向上,而继承就是层层向下的了。
三、封装
封装是什么意思呢,就是包裹起来的意思。Java里面把一个个类包裹起来,与其他的类区分开来。
比如:{{人}{动物}}这样层层封装,那么系统就显得有条不絮,不会乱,即使在编程的时候出错,也只会是某个封装体里面,不会牵涉到其他的封装体。还有一个好处就是封装好之后也方便了需要时调用,因为每个封装体你都会为它打上一个标签,输出标签就可以对它进行引用。
四、多态
有了前面的解释,那么多态就不难理解了。我们知道封装体是很多对象抽象后包裹起来的一个东西,那么假设每个封装体我们都把他又视为一个对象,那么创建一个封装体的对象,它就有多种状态,我们称之为多态。
比如:{人}是一个封装体,正常的时候,我们可以从这个类里面创建一个(小孩)、(青年)或者(老人),这样我们就要写3次创建的代码。运用到多态,我们直接创建一个(人),这个(人)对应3种状态
(人).小孩
(人).青年
(人).老人
这样,只需创建一次,就可以直接用到3种状态,就是多态。
这些只是让大家前期完全小白的时候初步有个概念,其实它们里面还包含很多细节的东西,大家看书的时候就回慢慢一步一步知道,这只是让大家在看书的时候有个模糊的概念,不至于看到头晕看不下去。最好就能结合视频一起看,不用看得过于吃力。