啊我也不会JAVA(一) -- 开始学习JAVA咋整?

最近突然对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.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值