Java Web----实训项目第一阶段

实训项目iPick的第一个阶段:

一、学习Java基础:

程序从源代码到运行必经的三个阶段:编码——编译——运行,调试


Java的跨平台性(一次编译,到处运行):在每个计算机上的JVM(Java虚拟机)上运行;


public类:如果Java程序源代码里定义了一个public类,该源文件的主文件名必须与该public类的类名相同;

一个Java源文件里最多只能定义一个public类;


Java严格区分大小写,类名的第一个字母大写,方法名和变量名的第一个字母小写;main方法是程序的入口,必须是public static void 修饰;


标识符:赋给类、方法或变量的名字;由字母数字下划线美元符号组成,但不能以数字开始;大小写敏感,长度无限制;标识符”见名知意“,且不能与保留关键字一样;


局部变量:方法体里面(包括方法体的参数)声明的变量;

成员变量:方法体外面类体里面声明的变量;


条件运算符(Java中唯一的三目运算符):表达式1?表达式2:表达式3


十六进制:0x开头;

Java整型常量默认为int型,声明long型常量后面加”L“

Java浮点型常量默认为double型,声明float型常量后面加”f“

一般来说,算术运算符优先级高于比较运算符高于逻辑运算符高于赋值运算符;(不确定时可以加括号)

++(--):自增(或自减)运算符在前时先运算再取值,在后时先取值再运算;


一维数组的动态初始化:type [] array = new int [len];

二维数组的动态初始化:type [] array = new int [len1][len2];

定义数组时不能指定数组的长度;


文档注释:生成一份API文档(用以说明应用程序接口的文档),API文档通常详细说明了每个类、每个方法的功能及用法等;/**......*/


new运算符:为数组分配内存空间;创建指定类的对象;


类和对象的关系:类(class)是具有共同特征的一类事物的抽象,类是对象(object)的模板,对象是类的一个实例(instance);


成员变量(状态数据)+方法(行为) =类定义

成员变量没有初始化,Java使用默认初始化的值;局部变量必须赋值,否则在调用的时候会报错;


Java支持单继承,即一个继承只允许有一个直接父类,不支持多继承;


构造方法:构造方法具有和类名相同的名称,不返回任何数据类型,不使用void;构造方法前加void后,构造方法变成了普通方法;没有定义构造方法时,编译器为类添加 类名(){ }的构造方法;


栈内存(stack):基本类型的变量和对象的引用变量都是在函数的栈内存中分配;

堆内存(heap):new创建的对象和数组在堆内存中分配;


方法的重载:一个类中可以定义有相同名字,但参数不同(参数个数不同或参数类型不同)的多个方法;调用时,根据不同的参数表选择对应的方法;


对象可以通过运算符“.”访问自己的属性,调用自己的方法;


Java中,参数为基本数据类型时是值传递,为类类型时是引用传递;


类变量实例变量的区别:类变量在类加载时分配内存,在程序退出时释放内存;实例变量在创建对象时分配内存,对象不存在实例变量就不存在;


this代表当前对象,类方法中不能使用this关键字;this可用于处理方法中成员变量和形参重名的情况;

静态块在类被加载时执行,一般只执行一次;static{……};


static:用static声明的成员变量是静态成员变量,为该类的公用变量,在第一次使用时被初始化,对该类的所有对象来说,static成员变量只有一份;用static声明的方法时静态方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员;static修饰的方法和成员变量,可通过类和实例来调用

;没有使用static修饰的普通方法和成员变量只可通过实例来调用;


:package pkg1.pkg2.pkg3;(放在Java源代码的第一句);引用包中的类必须把名字写全;


import:import 包名.类名;(引入某个包中的类),之后可直接使用该类;import 包名.*;(引入该包的所有类);访问位于同一个包的类不需要引入,可直接使用;


class只可以用public和default修饰,public类可以在任意地方被访问,default类只可以被同一个包内部的类访问;


方法的重写:子类中对从基类继承来的方法进行重写,重写的方法必须和被重写的方法具有相同的方法名称、参数列表和返回类型;重写的方法不能使用比被重写的方法更严格的访问权限;(copy声明)


super:引用基类的成分;


子类的构造过程中必须调用基类的构造方法;子类可以在自己的构造方法中用super(argument_list)调用基类的构造方法;如果调用super,必须写在子类构造方法的第一行;子类构造方法中如果没有用super调用基类的构造方法,默认调用基类无参构造方法;


equals:public boolean equals(Object obj)


引用变量instanceof类名(判断该引用型变量所“指向“的对象是否属于该类或该类的子类);


对象转型(casting):向上转型、向下转型;向上转型:子类的对象可以当作基类的对象来使用;向下转型:基类的对象可以当成子类的对象来使用;一个基类的引用类型变量可以”指向“其子类的对象;一个基类的引用不可以访问其子类对象新增加的成员(属性和方法);


动态绑定:在执行期间(而非编译期间)判断所引用对象的实际类型,根据其实际的类型调用其相应的方法;


多态的条件:有继承;有重写;父类引用指向子类对象;


abstract修饰的是抽象类或抽象方法,含有抽象方法的类必须是抽象类;抽象类必须被继承,抽象方法必须被重写;抽象类不能被实例化;抽象方法只需声明,而不需实现;


final的变量的值不能被改变,final的方法不能被重写,final的类不能被继承;


接口interface)是抽象方法和常量值的定义的集合;本质上,接口是一种特殊的抽象类,只包含常量和方法的定义,没有变量和方法的实现;


接口的特性:接口可以多重实现;接口中声明的属性默认为public static final的,也只能是public static final;接口中只能定义抽象方法,而且这些方法默认是public的,也只能是public的;接口可以继承其它接口,并添加新的属性和抽象方法;


多个无关的类可以实现同一个接口;一个类可以实现多个无关的接口;与继承关系类似,接口与实现类之间存在多态性;


implements关键字:一个类实现一个接口,用来实现接口中定义的抽象方法;实现一个接口,必须实现接口中的所有方法;


Java异常是Java提供的用于处理程序中错误的一种机制;

Java异常的分类:Throwable(Error(不可处理的),Exception(RuntimeException(不必处理的),其他异常(必须处理的)));


try{ }里面写的是有可能出现异常的语句,后面的catch( ){ }分别对这些异常做相应的处理;如果没有例外产生,所有的catch代码段都不执行;


try{ }catch( ){ }catch( )catch( ){ }finally{ },finally后面的语句一定会执行;通常在finally语句中进行资源的清除,如关闭打开的文件、删除临时文件;


在方法内用throw语句抛出异常;在方法声明部分用throws语句声明该方法可能抛出异常;重写方法需要抛出与原方法所抛出异常类型一致的异常或不抛异常;


元素为引用数据类型的数组中的每一个元素都需要实例化;


数组的动态初始化:数组定义与为数组元素分配空间和赋值的操作分开进行;

数组的静态初始化:定义数组的同时就为数组元素分配空间并赋值;

每个数组都有一个属性length指明它的长度;


Java多维数组的声明和初始化应按从高维到低维的顺序进行(从左到右);

数组的拷贝:System.arraycopy(array0,pos0,array,pos,length):从array0数组的第pos0项元素开始的length个元素拷贝到array数组从pos项元素开始的length个元素;


Collection接口定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式;Set中的数据对象没有顺序,并且不可重复List中的数据对象有顺序,并且可以重复;两个对象互相equals即重复;

Map接口定义了存储“键(key)——值(value)映射对”的方法;


Java API所提供的一系列类的实例,用于在程序中存放对象;

Collection接口中所定义的方法:

int size();

boolean isEmpty();

void clear();

boolean contains (object element);

boolean add (object element);

boolean remove (object element);

Iterator iterator ();

boolean containsAll (Collection c);

boolean addAll (Collection c);

boolean removeAll (Collection c);

boolean retainAll (Collection c);

object [] toArray ();


J2SDK所提供的容器API位于java.uil包内;


重写equals方法应该重写hashCode方法,当这个类的某个对象被当作键值(索引)使用时会使用它的hashCode方法;两个对象互相equals,它们的hashCode应该相等;


所有实现了Collection接口的容器类都有一个iterator方法用以返回一个实现了Iterator接口的对象;Iterator对象称为迭代器,用以方便的实现对容器内元素的遍历操作;

Iterator接口定义的方法:

boolean hasNext ();            //判断游标右边是否有元素

object next ();                     //返回游标右边的元素并将游标移动到下一个位置

void remove ();                  //删除游标左面的元素,在执行完next之后该操作只能执行一次


List接口:

object get (int index);

object set (int index, object element);

void add (int index, object element);

object remove (int index);

int indexOf (object o);

int lastIndexOf (object o);


类java.util.Collections提供了一些静态方法实现了基于List容器的一些常用算法:

void sort (List);                 //对List容器内的元素排序

void shuffle (List);            //对List容器内的对象进行随机排序

void reverse (List);          //对List容器内的对象进行逆序排序

void fill (List, object);       //用一个特定的对象重写整个List容器

void copy (List dest, List src);            //将src List容器中的内容拷贝到dest List容器

int binarySearch (List, object)            //对于顺序的List容器,采用折半查找的方法查找特定对象;


所有可以的排序的类都实现了java.lang.Comparable接口,Comparable接口中只有一个方法:

public int compareTo (object obj);

实现Comparable接口通过实现comparaTo方法从而确定该类对象的排序方式;


Array读快改慢;

Linked改快读慢;

Hash两者之间;


Map接口:(Map类中的键值不能重复)

object put (object key, object value);

object get (object key);

object remove (object key);

boolean containsKey (object key);

boolean containsValue (object value);

int size ();

boolean isEmpty ();

void putAll (Map t);

void clear ();


InputStream / OutputStream;

Reader / Writer;

FileInputStream / FileOutputStream;

FileReader / FileWriter;

BufferedInputStream / BufferedOutputStream;

BufferedReader / BufferedWriter;

Bytearrayinputstream / Bytearrayoutputstream;

Inputstreamreader / Outputstreamwriter;

Datainputstream / Dataoutputstream;

PrintStream / PrintWriter;

Objectinputstream / Objectoutputstream;


Object流:

transient关键字:只需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中;

serializable接口;

externalizable接口;


二、完成iPick原型设计(Axure):

学会使用Axure完成简单的原型设计:

高保真必填文本框的制作,简单的动画设计,设计触发链接;


展开阅读全文

没有更多推荐了,返回首页