`
saviorwb
  • 浏览: 23584 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

浅谈JAVA学习(一)

阅读更多

相信大家对JAVA的基础知识已经相当的熟悉了,那么我们再来过一遍。

首先对于各种基本语法你熟悉了吗?if for switch while等基本控制语句,各种变量的应用和之间的相互转换。问:怎样将字符串数字转换为整形的?

String number=10;

int num=Integer.parseInt(number);

基本的内容在已经学过了,我们需要着重理解的是类和方法的使用。学会试着使用API文档。

类是一种特殊的数据类型,而方法及属性都可看做是其内部的元素。既然说了是一种特殊的类型,故使用也不一样,因此我们需要创建该类的对象,这样对于一个类,我们可以通过创建多个对象来使用。就像int a ;int b;我们可以创建两个int 类型的变量,同是一种类型但却各有自己的含义。由于类中有属性和方法,因此我们就使用对象.属性或方法来使用。当然我们可以定义静态的方法或属性,这样我们在使用的时候就可以不创建其对象来使用。对于静态的方法和熟悉一般都是定义经常使用的内容,例如你的数据库连接类。

当然在经过了这么久的学习之后大家对于这些应当及其的熟悉了,那接下来说一下JAVA的高级特性,JAVA的三大特性不知你是否掌握。封装,继承,多态。

封装:为了程序的安全性,我们常常将一个类中的属性定义成私有属性private,而将公共的使用方法定义成public,这样我们在使用个类的时候,将无法改变其内部,而只使用其定义好的方法。这是封装特性的简单应用。回想一下我们所知道的JAVA类库包,我们能够调用他的方法,但是却不能够改变其属性。

继承:说实话是一个想用好很不容易的概念,简单说,我们现在有类A,类B,类C,各有自己的属性和方法,由于需求,需要几种类都有一种共同的方法或属性,那么如果我们将其继承一个公共类就可以了,当然也可以在每个类当中加入需要的内容,虽然功能上不影响什么,但却出现了冗余代码。这里就可以体会到如何提高代码的重用率了吧!其实无论哪种特性,都是为了使得程序更加使用和维护,以及开发的便捷性。

多态:一种形式,多种表示,在一个类中我们可以定义多个方法名字相同,但却其参数类型不同。我们称之为重载。

一个子类继承父类,并且将父类的方法重新定义,我们叫做方法的重写。

在介绍了三大特性之后,接下说一下类库包和接口抽象类。

首先JAVA的几个常用的类库包你熟悉吗?lang包 util包 sql包 io包 text包。lang包和util包是必须熟悉的,sql包的常用类是学JSP的基础,至于IO包呢是很重要的,然而我们学习是注重的是WEB开发,减少了桌面开发,故使用的较少了,但是还是应当熟悉的,只要掌握常用的文件读取文件类库就可以了。

text包的指定形式输出你熟悉了吗?

比如输出当前日期(字符串格式):

SimpleDateFormat format=new SimpleDateFormat(“yyyy-MM-dd HH:mm:dd”);

String time=format.format(new Date());

System.out.println(time);

顺便提一下线程的问题,线程是不好写的东西,WEB开发当中用的很少,因为已经都封装好了,平时我们基本很少写,现在我也基本写不出什么线程问题,但是面试的时候喜欢问,所以看一些常问的面试熟悉一下就可以了。

接下来的是这第一部分最后的内容接口、抽象类。我觉得也是即为重要的内容,在现在开发的过程当中,往往是面向接口编程。

首先来回顾一下接口和抽象类的定义:抽象类由abstract定义,抽象类当中可以定义一些方法没有具体的实现内容,由它的实现类来完成。接口interface是抽象类的特例,接口内只有属性和未实现内容的方法。接口给我们定义了一套规范,在一个项目当中,将接口定义好,使用的时候通过接口调用,这样我们无需考虑其实现是如何完成的,只需要知道接口实现的结果就可以了,而当需要修改时,我们只修改实现类的内容,无需修改内容,这样便于程序的维护和操作。

在使用JAVA时无非就是在调用一系列的接口,常用的开源框架也是使用他人定义好的接口。

 

举个例子来说明一下接口吧!

现在有一个类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

Fruit fruit=new Orange();

fruit.getFruit();

如果想要Apple

Fruit fruit=new Apple ();

fruit.getFruit();

这样我们只需要通过接口调用方法就可以了。

虽然简化了一些,但是会觉得这个东西很多余,我在刚开始学接口的时候也是很迷糊,认为这个东西很不实用,其实我们无法发现接口好处的原因是所写的东西太少,只有几个类,反而用了接口很麻烦,当在一个大项目当中,多人合作,需要使用别人写的东西的时候,如果在大量的类中找方法是很恐怖的,有了接口就方便多了,但是像刚刚的那种写法也是不易用的,你会发现即使使用接口也的知道其实现类。这好像并不方便呀。为了解决这个问题,我们可以使用很经典的工厂模式来解决,呵呵用到模式了,现在应该明白一点点模式了吧!模式就是为了解决某一类问题而设计出来的解决方案。

工厂模式有静态,动态两种,动态很麻烦也不易写,恩,就先说一下静态工厂吧!

工厂模式其实就是利用接口来管理接口的实现类,我们还可以利用工厂来管理工厂。

现在有一个工厂接口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();

看现在我们无需知道接口的实现类就可以了,通过工厂接口来管理实现累就方便了很多,但是在大的工程里面,我会发现每个类都需要一个工厂,虽然使用方便,但是太繁琐了,有了问题肯定有其解决方法,现在流行的框架Spring的IOC依赖注入就解决了这个问题。这个以后在说吧!要熟悉List的Iterator循环输出。List接口在今后的JSP当中使用的很多,主要用来存储对象。

讲到接口呢,就顺便说一下可存储对象的接口吧!常用的就是List,Set,Map

要熟悉这几种接口的实现类是哪些,具体有什么区别。

到此呢!这一部分就写这么多吧,有什么需要补充的给我说,我在写吧!

在这一连串讲下来我是习惯于沿着一类问题走下去,这也是我喜欢的学习方式,把要学习的技术来源和问题弄清,沿着解决问题的路线走下去,会搞清楚整个知识体系,自己也渐渐会懂得每种技术的优与缺。

最后呢说一下关于怎样学习,个人认为就是多看,多想,多练。我这个人比较懒的,所以写的练得比较少,我的原则是一定要先想出来有一定的思路,在去写,去练习。一般熟悉的东西可以不写,但是第一次接触的东西一定要练练手,不能手生。同时要多看看别人写的代码,学习他人的良好编写习惯。无论做什么都是循序渐进的事情,或许一个问题能让你很久不能明白,但是一旦明白了,就是一个飞跃。希望大家共同努力吧!

在掌握了基础之后,就要开始追求代码的精简及其效率。参考API,用最简练的方法高效的解决问题。

http://www.sy80.com.cn/blog

分享到:
评论

相关推荐

    浅谈Java技术学习方法.pdf

    浅谈Java技术学习方法.pdf

    浅谈java之IO学习经验

    浅谈IO学习经验,浅谈IO学习经验,浅谈IO学习经验,浅谈IO学习经验,浅谈IO学习经验

    浅谈Java字符串Java开发Java经验技巧共11页.p

    浅谈Java字符串Java开发Java经验技巧共11页.pdf.zip

    浅谈java获取UUID与UUID的校验

    主要介绍了java获取UUID与UUID的校验,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    浅谈Socket编程及Java实现

    浅谈Socket编程及Java实现,学习java socket编程

    浅谈Java内部类的四个应用场景

    Java内部类是Java言语的一个很重要的概念,《Java编程思想》花了很大的篇幅来讲述这个概念。但是我们在实践中很少用到它...本文试图谈一谈让这个幕后英雄也有用武之地的四个场景,希望引起大家对使用Java内部类的兴趣。

    浅谈java包的使用

    java包的使用。在自定义的java包中调用其他的类对象的方法。这是我今天下午的学习心得。希望可以给大家点帮助。

    Java分布式应用学习笔记06浅谈并发加锁机制分析

    Java分布式应用学习笔记06浅谈并发加锁机制分析

    浅谈java日志格式化

    不管我们使用何种语言开发,一旦程序发生异常,日志是一个很重要的数据。但是并不是意味着打印的日志越多越好,我们需要的是有用的日志。下面小编来和大家一起学习以下知识

    浅谈java随机数的陷阱

    主要介绍了浅谈java随机数的陷阱,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    浅谈JAVA 内存流的实现

    主要介绍了浅谈JAVA 内存流的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    浅谈JAVA如何生成UUID唯一标识

    主要介绍了浅谈JAVA如何生成UUID唯一标识,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    浅谈Java向下转型的意义

    主要介绍了浅谈Java向下转型的意义,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    浅谈java 重写equals方法的种种坑

    主要介绍了浅谈java 重写equals方法的种种“坑”,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    浅谈Java实现面向对象编程java oop

    主要介绍了浅谈Java实现面向对象编程java oop,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    浅谈Java如何实现一个基于LRU时间复杂度为O(1)的缓存

    主要介绍了浅谈Java如何实现一个基于LRU时间复杂度为O(1)的缓存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    浅谈Java内存区域划分和内存分配策略

    主要介绍了浅谈Java内存区域划分和内存分配策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    浅谈Java并发编程基础知识

    主要介绍了浅谈Java并发编程基础知识,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    浅谈Java中是否直接可以使用enum进行传输

    主要介绍了浅谈Java中是否直接可以使用enum进行传输,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    浅谈Java中真的只有值传递么

    主要介绍了浅谈Java中真的只有值传递么?文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Global site tag (gtag.js) - Google Analytics