分类: 信息化
2013-12-06 11:02:22
相信大家在兄弟连一个月的艰苦奋斗,已经对有了更深的了解。而我呢,也从一个一无所知的菜鸟成长到了一个略知一二的IT丛林小鸟。
好多人怀疑自己能否学会,我觉得学知识首先要自信,相信自己努力就能学好。我是一个零基础的学员,个人认为学JAVA就是多看,多想,多练。我这个人比较懒的,所以写的练得比较少,我的原则是一定要先想出来有一定的思路,碰到疑点不去硬磕,去问问老师大神,让他们点透我的思考盲点误区,然后再在去写,去练习。一般熟悉的东西我不写,但是第一次接触的东西一定要练练手,不能手生。讲师也要求课堂代码要敲三遍,熟能生巧,亘古不变。同时要多看看别人写的代码,高手在身边,这句话是我说的,学习他人的良好编写习惯。这点很重要。
然后是学习心态,无论做什么都是循序渐进的事情,学不会也不要急,因为着急也不好使。或许一个问题能让我想很久不能明白,但是一旦明白了,就是一个飞跃。学东西肯定会遇到瓶颈的,过了迷茫期就会豁然开朗。希望大家共同努力吧!
下面我把自己从大神那里取来的真经以及个人对Java的浅显认识和大家分享,身为程序员,首先要有开源精神,资源共享,好东西分享给全人类。你看,我做到了。
首先对于各种基本语法你熟悉了吗?if
for switch while等基本控制语句,各种变量的应用和之间的相互转换。比如说,问:怎样将字符串数字转换为整形的?
String
number=10;
int
num=Integer.parseInt(number);
这块简单,是浮云,就让他飘过吧。下面讲类:
类是一种特殊的数据类型,而方法及属性都可看做是其内部的,使用类的时候呢我们需要创建该类的对象,这样对于一个类,我们可以通过创建多个对象来使用。就像int
a ;int b;我们可以创建两个int
类型的变量,同是一种类型但却各有自己的含义。由于类中有属性和方法,因此我们就使用对象.属性或方法来使用。当然我们可以定义静态的方法或属性,这样我们在使用的时候就可以不创建其对象来使用,可以直接调用啦。对于静态的方法和熟悉一般都是定义经常使用的内容,我就爱定义成静态的,因为想怎么调用就怎么调用。
当然在经过了这么久的学习之后大家对于这些应当及其的熟悉了,那接下来说一下JAVA的高级特性,JAVA的三大特性不知你是否掌握。封装,继承,多态。(四大特性的话
+ 一个
‘抽象’,面试时加分哦。)
封装(private):为了程序的安全性,我们常常将一个类中的属性定义成私有属性private,而将公共的使用方法定义成public,这样我们在使用个类的时候,将无法改变其内部,而只使用其定义好的方法。这是封装特性的简单应用。回想一下我们所知道的JAVA类库包,我们能够调用他的方法,但是却不能够改变其属性。
一句话:我弄好一东西,打包了,别人只能看不能摸调用不了。
继承(extends):简单说,我们现在有类A,类B,类C,各有自己的属性和方法,由于需求,需要几种类都有一种共同的方法或属性,那么如果我们将其继承一个公共类就可以了,当然也可以在每个类当中加入需要的内容,虽然功能上不影响什么,但却出现了冗余代码,占用内存。其实无论哪种特性,都是为了使得程序更有利于使用和维护,以及开发的便捷性。
一句话:爹的基因好,好多儿子共有一个爹且全部具有爹的所有属性。
多态:一种形式,多种表示,在一个类中我们可以定义多个方法,名字相同,但却其参数类型不同。我们称之为重载。
一个子类继承父类,并且将父类的方法重新定义,我们叫做方法的重写。
一句话:一段程序代码像人一样,多面性多重性格,人有大名小名,代码有重载重写。
注意:“一句话”部分全是个人总结,不要拿去和别人举例,否则-----------丢人。
介绍完三大特性之后,接下来的是这第一部分最后的内容接口、抽象类。我觉得这是最为重要的内容,在现在开发的过程当中,往往是面向接口编程。我觉得面向对象的理解瓶颈也就在接口部分吧。
首先来回顾一下接口和抽象类的定义:抽象类由abstract定义,抽象类当中可以定义一些方法没有具体的实现内容,由它的实现类(子类)来完成。接口interface是抽象类的特例,接口内只有属性和未实现内容的方法。接口给我们定义了一套规范,在一个项目当中,将接口定义好,使用的时候通过接口调用,这样我们无需考虑其实现是如何完成的,只需要知道接口实现的结果就可以了,而当需要修改时,我们只修改实现类的内容,无需修改内容,这样便于程序的维护和操作。
我对接口的理解完全是通过敲老师的代码,在敲的过程中领悟的。所以,大家就敲吧。
由于本人爱吃水果,就用水果给大家举个小例子吧:
现在有一个类Orange和一个类Apple和一个接口Fruit
接口定义了一个getFruit()方法
public interface
Fruit
{
public void getFruit();
}
实现类Orange
public class Orange implements Fruit
{
public void
getFruit()
{
System.out.println("我就爱吃Orange");
}
}
实现类Apple
public
class Apple implements Fruit
{
public void
getFruit()
{
System.out.println("我也爱吃Apple");
}
}
如果想要Orange //这地方比较好,我想创建就创建,想new就new
Fruit fruit=new
Orange();
fruit.getFruit();
如果想要Apple
Fruit fruit=new Apple
();
fruit.getFruit();
这样我们只需要通过接口调用方法就可以了。
这只是个小例子,所以并没有体现接口的实用性和优势。只是教大家一个定义接口的过程。我就爱吃水果,可世上水果千万种,用接口只要new新水果出来就行了,但用其他方法呢?恐怕就麻烦了。水果少了不够吃啊,能批量生产就好了,那么为了解决这个问题,我们可以使用很经典的工厂模式来解决,你看这下就用到模式了,模式就入门了!我这么引路不错吧。模式就是为了解决某一类问题而设计出来的解决方案。放到生活里就是规范,模版,我是这么理解的。
工厂模式其实就是利用接口来管理接口的实现类。
现在有一个工厂接口IFruitFactory和接口实现类FruitFactory
public
interface IFruitFactory
{
public Fruit getOrange();
public Fruit getApple();
}
接口实现类
public class FruitFactory
implements IFruitFactory
{
public Fruit getOrange()
{
return new
Orange();
}
public Fruit getApple()
{
return new
Apple();
}
}
好了,结合上面的简单接口,我们现在通过工厂来管理接口;
如果想要Orange
IFruitFactory iFruit=new
FruitFactory();
Fruit
fruit=iFruit.getOrange();
fruit.getFruit();
如果想要Apple
IFruitFactory
iFruit=new FruitFactory();
Fruit
fruit=iFruit.getApple();
fruit.getFruit();
看现在我们无需知道接口的实现类就可以了,通过工厂接口来管理实现类就方便了很多,在这里我理解不深,工厂模式是否只能放到接口里用呢?好吧,明天会知道的。
然后呢,今天讲的是程序国际化,老师讲的是天花乱缀,可我听的却云里雾里的,没办法不理解我就死记硬背吧,可能这部分只能靠背。所以大家实在想不明白的,就不要想了,不是放弃,而是背过。
到此呢!这一部分就写这么多吧,有什么需要补充的跟我说,以后的战地日记再写吧!
下面分享一下一个大神级网友的学习方式,他说:学习玩灵感,把要学习的技术来源和问题弄清,沿着解决问题的路线走下去,会搞清楚整个知识体系,自己也渐渐会懂得每种技术的优与缺。(是个牛人)大家可以借鉴下,反正我是没听太懂。我也总结了,我认为呢:学编程,
1要知道学的代码干嘛用。
2要知道学的代码怎么用在哪用。
3要知道敲的代码是怎么实现功能的。
大家可能觉得是废话,但这就是我学习编程代码的认知过程,而且就是这个顺序,菜鸟的分享,会有不足甚至不对的地方,期望各位指点纠正,日后和诸位切磋讨教啊。
最后大家别忘了练盲打,熟悉API文档。在掌握了基础之后,我们就要开始追求代码的精简及其效率。参考API,用最简练的方法高效的解决问题。
遥祝:在兄弟连和没在兄弟连的编程兄弟们,步步高升,处处高薪。