最近突然对JAVA开始感兴趣,反正自己平时回去也有些空闲的时间,不如就挪出一部分时间来学习下~
在开始系统的学习之前了解,总得先对JAVA有所了解吧,就好比找对象, 你都不知道有什么属性,随便new一个,也是不妥的。
1. JAVA 能干什么?
据我的了解,目前JAVA用到的地方主要有:Andriod开发,web应用开发以及企业级应用等等。至于以后方向的选择,就要看个人的兴趣了,目前来说
Andriod开发还是比较热门的。
2. JAVA语言的特点
作为一个只是在帮别人用JAVA写过一个半成品的课程设计的人来说,jAVA最大的特点就是面向对象了(当然不是让你面对这你的男朋友编程)。
JAVA中的一切都是类,java的main()函数都是在类当中。下面就说几个关键词:封装、继承、多态。
我以瞎白话的方式来解释一下~
封装
(定义):就是把属于同一类事务的共性(包括属性与方法)归到一个类中,以方便使用。
(白话) :你是个汉子,想要找个对象(女),你想要她有属性(温柔体贴、长腿、细腰、美颜),你想要她能做到这些(做饭、洗碗、拖地、花钱)。那么你其实在做的就是把这些特点都封装到一起啊,这就是你理想的女票的模型(类),如果你哪天找到这样的妹子了,那么说明你new()到了这个类啊。
(好处): (1) 可以明确区分功能。比如有两种已经封装好的妹子,A(颜好,身材不好,喜欢做饭), B(身材好,颜一般,爱好学习),这时候,周围打主意的汉子们可能会想,A好哇,看着就顺心~,或者,B好哇,我是腿控。假设这些汉子需要找妹子(调用类),就很明确自己需要调用哪个类了。(现实可能是调用另一个汉子~)
(2) 隐藏信息,实现一些细节。比如说,在别人问你理想型的时候,有些比较令人羞涩的属性或者方法,比如*软、*好、*轻之类的,可以通过权限控制访问不让外界能够直接访问,只有自己想说的时候,通过getter()方法来告诉外界。
继承
(定义): 就是个性对共性的属性与方法接受,并加入个性特有的属性与方法,目的是实现代码的复用。
(白话) : 子类继承父类,这是不是父子关系,而是is-a的关系,注意,父类私有属性和构造方法不能被继承。下面白话一下就印象深刻了,比如你分手半年,在无数个日夜的难过之后,想找个新的女朋友,但是你还是忘不了之前的女朋友,并且前女友已经成为你找对象的模版类了(ex属性:颜一般、身材好、爱撒娇、**好 | ex方法:喜欢做饭、**不错)。于是你就想找个和以前妹子类似的女朋友,假设找到了啊。这时候打住~~~
(1) 这个新女友的特点 继承 了你前女友,其实在你心里,新女友暂时 is 你前女友(is-a关系),拥有绝大部分前女友的特点。(这里的前女友可以抽象为模版了)
(2) 由于每个人都是特殊的,有些隐私也是你无法知道的,所以你ex的 属性 **好,以及方法 **不错无法被继承,你的现在的女朋友并不能在这些方面和你ex一样。另外,在开始交往的时候,好比你new()一个女朋友,她所做的一些事情(构造方法),肯定也和你的ex认识你的时候有所不同。这就验证了,父类的私有属性和构造方法不能被继承。
(好处): (1) 实现代码复用。在这个例子里不是让你同时使用两个女朋友(蒙脸,污~~),而是在你找下一个女朋的时候,你可以明确地知道,你想要什么样的,省却了一些不必要的烦恼。
(2) 子类可以加入特有的属性与方法,满足自定需求。这时候你不希望你现女友什么都和ex一样,比如说你希望她会跳舞,会唱歌,或者拥有贤妻的属性。
多态
(定义):java运行时根据调用该方法的实例的类型来决定调用哪个方法。(就是一个方法,传入不同的实例引用,会有不同行为)
(栗子) : (这里就不用上面的栗子了,可能会引起不适 =_=)
Driver类有方法, public void drive(Vehicle v) { xxxx }
这时 Driver hanXiao = new Driver(); 假设Driver hanXiao什么都能开,这次出行他不知道驾驶什么,得根据各种情况~
如果外面洪水:hanXiao.drive(new Boat()); //这里Boat类继承了Vehicle类 或者实现了 Vehicle接口
如果外面下雪:hanXiao.drive(new Chanxueche());
如果外面刮风:hanXiao.drive(new Car());
(好处)
(1) 可替换性。比如说上面driver选择何种方式出门,直接在drive()方法传入对应的继承Vehicle类的实例就好了。
(2) 扩展性高。如果还想要有更多的出门方式,再定义一个Plane类,继承Vehicle(基类)
(3) 结构清楚。使用的时候很明确简洁,修改代码的时候也比较方便。
3. 如何开始?
作为一个喜欢逛逛知乎,上上网的年轻人,一般的语言我都多多少少看过一些,这里推荐:马士兵的JAVA基础教程
视频看起来没有那么枯燥,开始起来也比较简单一点。当然,学习也要做笔记(百度:印象笔记),敲代码,最好是下来自己从头敲出来。
如果喜欢阅读,那么看看《Head First JAVA》,比较生动形象,跟着敲一遍,必有收获。
结语
说了那么多,最重要的保持一颗平常心,静下心来,只要坚持下去,就能differ from others~~
Just do it.