java程序开发模拟实习.doc
文本预览下载声明
Java语言经典算法和Java面向对象思想的程序设计
1.1实训目的
熟练掌握Java面向对象程序设计的基础知识。
熟练掌握Java中常用的Swing组件的使用方法。
3.熟练掌握Java程序中图形用户界面设计的方法。
4.熟练掌握使用JDBC操作数据库的方法。
5.通过实训,培养学生分析和解决实际问题的能力,提高调试和分析应用程序的能力,并为后续Java高级编程等专业课程的学习奠定良好的基础。
通过实训能够结合实例进一步理解面向对象程序设计的基本概念,掌握程序设计的基本方法和技巧,灵活的使用包,进一步的理解接口,熟练的掌握在接口中对事件的实现。深入理解和灵活运用面向对象程序设计的基本特性,培养良好的程序设计风格,提高抽象思维、逻辑思维的能力。
1.2.1基本概念
一.字符类型:
short 短整型 16位 2字节
int 整型 32位 4字节
long 长整型 64位 8字节
浮点分单精度float和双精度double
float 单精度 32位 4字节
double双精度 64位 8字节
注:char 这一点比较非凡,java使用的不是ascii字符,也不是扩展的8位字符集,而是unicode字符集,unicode字符占据16位,2字节,可以表示人类所有发现的字符,也因为如此java可以比较方便的进行国际化,不知这个理解有无问题。
实际上char的值是个整数(0-65536),因此我们给char赋值可以用整数或者用单引号括起来的字符
顺便就看了一下UTF(unicode text format)格式,它是这样出来16位的unicode字符
前九位为0的unicode字符:一个字节
前五位为0的unicode字符:两个字节
其它:三个字节
对应的前缀编码:
0xxxxxxx Ascii码
10xxxxxx 第二或者第三个字节
110xxxxx 两字节序列中的第一个字节
1110xxxx 三字节序列中的第一个字节
二.类:
类与对象:类是一个逻辑结构,对象拥有物理实体.也就是说类不占据内存空间,对象占据一定的内存空间.可以从类对象的获取说明这个问题。
例如:Box aBox=new Box();
实际上这个过程分两步
Box aBox;
aBox=new Box();
第一步是创建一个对象,返回的aBox是一个对象的引用。
第二步才是调用构造函数,为对象分配内存空间,返回的是这个内存地址的引用,这个引用被赋给了aBox。
构造函数是如何工作的呢?
构造函数没有返回值,是因为其隐含的返回类型是类本身。
默认的构造函数自动将所有的实例变量初始化为0。
实例变量即是一个类中定义的数据或变量,类的成员是指类中定义的方法和变量。
引用是个很有意思的东西。
例如:Box a=new Box();
Box b=new Box();
这个时候a和b对应各自的内存地址,假如
a=b;
这个时候a,b均指向同一个内存地址即b的内存地址。也就是说现在你更改a中的成员变量的值b的变量的值也随之改变;假如改变b中成员变量的值,a的对应变量也随之改变。引用只是一个内存的地址。
类中有个词语叫做抽象类,抽象类有很多含义和细节需要注重:
1.包含抽象方法的类必须声明为抽象类
2.抽象类的方法在子类中必须被覆盖,否则子类也必须声明为抽象类
3.抽象类不能有对象,不能new一个抽象类将其实例化
4.抽象类可以有抽象方法也可以有具体实现了的方法
5.抽象类可以创建对象引用
第五条非常有用,可以实现多态。李乾师兄曾讲解的设计模式中的工厂方法也就是抽象类的超类变量引用不同的子类对象。
由于接口都没有实现自身的方法,假如一个类没有实现接口中的方法,也必须定义为抽象类。
三.接口:
接口只定义方法名,但是不实现方法。
接口可以声明变量,但是这些变量将是隐含的、最终的、静态的,不能由实现接口的类来改变。因此可以将共享常量在接口中定义,然后导入到多个类中。
可以使用接口引用来调用实现,这是什么意思呢?
例如:
inerface callback()
{
public void call(int p)
{
}
}
class client implements callback
{
public void call(int p)
{
}
}
public static void (String arg[])
{
callback c=new client();
c.call(1);
}
注重上面黑体字部分callback c=new client(), 创建了一个client对象,却声明为接口类型,这其中的意思就是c只是知道
显示全部