- 浏览: 342708 次
- 性别:
- 来自: 上海
-
文章分类
最新评论
-
alafqq:
很好的一篇启蒙hashmap的文章;HASHTABLE的93行 ...
使用数组和链表实现hash表存储信息 -
小帅1127:
我擦,我还以为有什么大坑呢,这也写出来。。。
if..else if和if..if的区别 -
fncj:
转下http://www.dodoer.com
hadoop单机版搭建图文详解 -
yueshang520:
Spring注解原理的详细剖析与实现 -
fncj:
转下,谢谢http://www.whohelpme.com/b ...
Spring注解原理的详细剖析与实现
2010-7-27---2010-8-12
需要总结的内容:
1.继承、多态、重写?
继承:已经有一个parent父类,子类要调用父类的方法与属性,用extends关键字
public sonName extends parName {
//自动具有了parName父类中的方法是与属性
}
多态:方法名相同,传入参数不同,内部功能不同
public Study(){//.....}
public Study(String name){//.....}
public Study(String name,int num){//.....}
重写:在子类中对继承来的方法进行重写,方法定义不变,但方法的实现不同
2.数据类型、值传递和引用传递有什么区别,String是什么传递?
数据类型没有学,以我自己的理解写:
bype型(我在c++中没有用过这个类型)1个字节 8bit
short型 2个字节
char型 2个字节
int型 4个字节
long型 8个字节
float型 4个字节 1.234f 2.345F
double型 8个字节
Boolean型 true/false
// String型 8个字节(S要大写)String是一个类不是基本类型
值传递和引用传递的区别:
数据为八大基本类型是,数据在调用传递时是( 值传递)
数据为引用类型即类类型是,通过创建的对象来调用 (引用传递)通过方法可以改变值
String虽然为一个类,但是遵循值传递的规则
3.Set如何遍历,有哪些子类、List如何遍历,有哪些子类、Map如何遍历,有哪些子类
Map中是否可以放入null的key或Vlaue?Set,List呢?
<--这个我还没学-->
4.Swing界面相关,Swing组件的继承体系图、事件监听器的继承体系图。
Swing采用了一种MVC的设计范式,即"模型-视图-控制"(Model-View- Controller),其中模型用来保存内容,视图用来显示内容,控制器用来控制用户输入。
在javax.swing包中,定义了两种类型的组件:顶层容器(JFrame,JApplet,JDialog和JWindow)和轻量级组件。Swing组件都是AWT的Container类的直接子类和间接子类。
java.awt.Component
-java.awt.Container
-java.awt.Window
-java.awt.Frame-javax.swing.JFrame
-javax.Dialog-javax.swing.JDialog
-javax.swing.JWindow
-java.awt.Applet-javax.swing.JApplet
-javax.swing.Box
-javax.swing.Jcomponet
swing包是Swing提供的最大包,它包含将近100个类和25个接口,几乎所有的Swing组件都在swing包中,只有JtableHeader和 JtextComponent是例外,它们分别在swing.table和swing.text中。
swing.border包中定义了事件和事件监听器类,与AWT的event包类似。它们都包括事件类和监听器接口。
swing.pending包包含了没有完全实现的Swing组件。
swing.table包中主要包括了表格组建(JTable)的支持类。
swing.tree同样是JTree的支持类。
swing.text、swing.text.html、swing.text.html.parser和swing.text.rtf都是用于显示和编辑文档的包。
http://www.itlearner.com/article/549(相当详细)
5.递归与循环的区别?
在方法里面在调用自己就是递归。递归可以看做是循环
循环体里面没有方法本身了。 循环不能看成是递归
6.I/O流继承体系结构图和分类。文件复制的实现,原始数据类型读写
<--貌似我现在还没接触过结构体系这样的字眼,惭愧!-->
文件复制的实现:
public boolean copyFile(Stirng srcFile,String destFile){
//创建一个从源文件来的输入流(水站)
InputStrean ins=new FileInputStream(srcFile);
//缓冲输出流对象(水缸)
OutputStream ous=new FileOutputStream(destFile);
//OutputStream ous=new FileOutputStream(destFile,true);//输出内容附加到已存在 文件后面
int i=0;
//从输出流中读取一个字节(但是定义是用的是int)
while(i=ins.read()!=-1){ 当i=-1时,文件到末尾了 .read()功能为读取下一个字节
ous.write(i);
}
ins.clouse(); //关闭水站龙头
ous.flush(); //清空输出流的缓存并关闭(将输水管中的水清掉,并撤掉水管)
ous.clouse();//关闭水缸水流入口
return true; //文件复制成功
}
http://java.chinaitlab.com/base/782283.html
7.线程:线程有几种创建方式?线程在程序中有几种状态?
3种创建方式:
1)重写Thread类实现线程
2)实现Runnable接口创建线程(没接触)
3)以内部类的方式创建线程
4)继承TimerTask类实现线程的定时执行(没接触)
●新线程态(New Thread)
产生一个Thread对象就生成一个新线程。当线程处于"新线程"状态时,仅仅是一个空线程对象,它还没有分配到系统资源。因此只能启动或终止它。任何其他操作都会引发异常。
●可运行态(Runnable)
start()方法产生运行线程所必须的资源,调度线程执行,并且调用线程的run()方法。在这时线程处于可运行态。该状态不称为运行态是因为这时的线程并不总是一直占用处理机。特别是对于只有一个处理机的PC而言,任何时刻.只能有一个处于可运行态的线程占用处理 机。Java通过调度来实现多线程对处理机的共享。
●非运行态(Not Runnable)
当以下事件发生时,线程进入非运行态。
①suspend()方法被调用;
②sleep()方法被调用;
③线程使用wait()来等待条件变量;
④线程处于I/O等待。
●死亡态(Dead)
当run()方法返回,或别的线程调用stop()方法,线程进入死亡态 。通常Applet使用它的stop()方法来终止它产生的所有线程。
8.static用法与注意事项,==和equals的区别?
使用static限定的方法称为静态方法或类方法,其调用不必经过创建该类的对象,类的某一个static属性值被改变之后,这个类所有对象的static属性值都会改变(类似于C++中#define num 10),static属性可以在任何方法中调用,但在static方法中只能直接调用static属性,非static属性必须通过创建对象来调用
==必须使用的是原始数据 如1==1
equals 使用时,可以是对象,相等的标准比较灵活,不如 stu1.equals(stu2). equals是一个方法
9.完成的项目功能说明和缺陷分析。(画板、五子棋、弹球游戏3选2)
1)弹球游戏(到目前为止不知道这是啥玩意儿),画出一个球来还不收控制
2)画板
初步实现了画直线、椭圆的方法,可以重绘,可以保存并提取文件,实现了对颜色的设置。目前的缺陷很多,多到不知道该怎么说!
重绘的时候颜色会改变
不明白为甚么要搞保存和提取,还没有进行深一步的研究
实现的功能还非常简单。画面设计不够美观
3)五子棋
初步实现了棋盘的绘制、棋子的落子,单局输赢判断(人人对战版)
缺陷:不能进行下一局
没有难度区分
没有实现人机对战(弱智的简单人工智能)
无法设置先手后手
。。。。。未知问题
10.自己的学习到的经验?典型的碰到什么难题?如何解决?
做画板是一直是画一个图形,重绘后图形就发生走样,纠结两天后在查了N次代码后发现是自己粗心将paint()函数内的this.x2=x2写成了this.x2=y2;(找hu总求救,他让我自己再纠结纠结,结果自己本着“失败九十九次,第一百次一定成功”的信念再认真检查后终于找到症结所在了,希望大家也能引以为戒,低级问题一定要自己耐心的去发现)
最开始把所有代码都写到一个类里面,看着非常没有条理,随着对值传递理解的加深,这才开始慢慢分开写
做五子棋时最纠结的是各种值的调用和监听器的设置,到现在还是比较迷糊(actionListener和mouseLitener)~典型的问题是每次老师给分析完之后自己会做一步,然后下一步就不知道该怎么办了!!缺乏自主性啊
最开始设置棋盘线是有问题的,找坐标计算坐标用了很长时间,但搞出来后也觉得没有想象中的那么难了。
画棋子设置监听器的时候确实遇到了很大问题,大部分是hu总帮忙解决的,现在还在消化过程中
每一个棋子画完后要存入chessBox数组中时也遇到了问题。当重绘时需要提取数组中的值,没有参数的数组是null,最开始忽略了这点
当一方获胜后弹出提示窗口,当关掉窗口后还可以继续落子。这个问题通过移除监听器来解决了
目前最大的问题是放一个棋子后,机器自动添加另外一方的棋子,虽然按照傻瓜规则可以添加,但判断输赢却出问题了~~
求高手指教!
需要总结的内容:
1.继承、多态、重写?
继承:已经有一个parent父类,子类要调用父类的方法与属性,用extends关键字
public sonName extends parName {
//自动具有了parName父类中的方法是与属性
}
多态:方法名相同,传入参数不同,内部功能不同
public Study(){//.....}
public Study(String name){//.....}
public Study(String name,int num){//.....}
重写:在子类中对继承来的方法进行重写,方法定义不变,但方法的实现不同
2.数据类型、值传递和引用传递有什么区别,String是什么传递?
数据类型没有学,以我自己的理解写:
bype型(我在c++中没有用过这个类型)1个字节 8bit
short型 2个字节
char型 2个字节
int型 4个字节
long型 8个字节
float型 4个字节 1.234f 2.345F
double型 8个字节
Boolean型 true/false
// String型 8个字节(S要大写)String是一个类不是基本类型
值传递和引用传递的区别:
数据为八大基本类型是,数据在调用传递时是( 值传递)
数据为引用类型即类类型是,通过创建的对象来调用 (引用传递)通过方法可以改变值
String虽然为一个类,但是遵循值传递的规则
3.Set如何遍历,有哪些子类、List如何遍历,有哪些子类、Map如何遍历,有哪些子类
Map中是否可以放入null的key或Vlaue?Set,List呢?
<--这个我还没学-->
4.Swing界面相关,Swing组件的继承体系图、事件监听器的继承体系图。
Swing采用了一种MVC的设计范式,即"模型-视图-控制"(Model-View- Controller),其中模型用来保存内容,视图用来显示内容,控制器用来控制用户输入。
在javax.swing包中,定义了两种类型的组件:顶层容器(JFrame,JApplet,JDialog和JWindow)和轻量级组件。Swing组件都是AWT的Container类的直接子类和间接子类。
java.awt.Component
-java.awt.Container
-java.awt.Window
-java.awt.Frame-javax.swing.JFrame
-javax.Dialog-javax.swing.JDialog
-javax.swing.JWindow
-java.awt.Applet-javax.swing.JApplet
-javax.swing.Box
-javax.swing.Jcomponet
swing包是Swing提供的最大包,它包含将近100个类和25个接口,几乎所有的Swing组件都在swing包中,只有JtableHeader和 JtextComponent是例外,它们分别在swing.table和swing.text中。
swing.border包中定义了事件和事件监听器类,与AWT的event包类似。它们都包括事件类和监听器接口。
swing.pending包包含了没有完全实现的Swing组件。
swing.table包中主要包括了表格组建(JTable)的支持类。
swing.tree同样是JTree的支持类。
swing.text、swing.text.html、swing.text.html.parser和swing.text.rtf都是用于显示和编辑文档的包。
http://www.itlearner.com/article/549(相当详细)
5.递归与循环的区别?
在方法里面在调用自己就是递归。递归可以看做是循环
循环体里面没有方法本身了。 循环不能看成是递归
6.I/O流继承体系结构图和分类。文件复制的实现,原始数据类型读写
<--貌似我现在还没接触过结构体系这样的字眼,惭愧!-->
文件复制的实现:
public boolean copyFile(Stirng srcFile,String destFile){
//创建一个从源文件来的输入流(水站)
InputStrean ins=new FileInputStream(srcFile);
//缓冲输出流对象(水缸)
OutputStream ous=new FileOutputStream(destFile);
//OutputStream ous=new FileOutputStream(destFile,true);//输出内容附加到已存在 文件后面
int i=0;
//从输出流中读取一个字节(但是定义是用的是int)
while(i=ins.read()!=-1){ 当i=-1时,文件到末尾了 .read()功能为读取下一个字节
ous.write(i);
}
ins.clouse(); //关闭水站龙头
ous.flush(); //清空输出流的缓存并关闭(将输水管中的水清掉,并撤掉水管)
ous.clouse();//关闭水缸水流入口
return true; //文件复制成功
}
http://java.chinaitlab.com/base/782283.html
7.线程:线程有几种创建方式?线程在程序中有几种状态?
3种创建方式:
1)重写Thread类实现线程
2)实现Runnable接口创建线程(没接触)
3)以内部类的方式创建线程
4)继承TimerTask类实现线程的定时执行(没接触)
●新线程态(New Thread)
产生一个Thread对象就生成一个新线程。当线程处于"新线程"状态时,仅仅是一个空线程对象,它还没有分配到系统资源。因此只能启动或终止它。任何其他操作都会引发异常。
●可运行态(Runnable)
start()方法产生运行线程所必须的资源,调度线程执行,并且调用线程的run()方法。在这时线程处于可运行态。该状态不称为运行态是因为这时的线程并不总是一直占用处理机。特别是对于只有一个处理机的PC而言,任何时刻.只能有一个处于可运行态的线程占用处理 机。Java通过调度来实现多线程对处理机的共享。
●非运行态(Not Runnable)
当以下事件发生时,线程进入非运行态。
①suspend()方法被调用;
②sleep()方法被调用;
③线程使用wait()来等待条件变量;
④线程处于I/O等待。
●死亡态(Dead)
当run()方法返回,或别的线程调用stop()方法,线程进入死亡态 。通常Applet使用它的stop()方法来终止它产生的所有线程。
8.static用法与注意事项,==和equals的区别?
使用static限定的方法称为静态方法或类方法,其调用不必经过创建该类的对象,类的某一个static属性值被改变之后,这个类所有对象的static属性值都会改变(类似于C++中#define num 10),static属性可以在任何方法中调用,但在static方法中只能直接调用static属性,非static属性必须通过创建对象来调用
==必须使用的是原始数据 如1==1
equals 使用时,可以是对象,相等的标准比较灵活,不如 stu1.equals(stu2). equals是一个方法
9.完成的项目功能说明和缺陷分析。(画板、五子棋、弹球游戏3选2)
1)弹球游戏(到目前为止不知道这是啥玩意儿),画出一个球来还不收控制
2)画板
初步实现了画直线、椭圆的方法,可以重绘,可以保存并提取文件,实现了对颜色的设置。目前的缺陷很多,多到不知道该怎么说!
重绘的时候颜色会改变
不明白为甚么要搞保存和提取,还没有进行深一步的研究
实现的功能还非常简单。画面设计不够美观
3)五子棋
初步实现了棋盘的绘制、棋子的落子,单局输赢判断(人人对战版)
缺陷:不能进行下一局
没有难度区分
没有实现人机对战(弱智的简单人工智能)
无法设置先手后手
。。。。。未知问题
10.自己的学习到的经验?典型的碰到什么难题?如何解决?
做画板是一直是画一个图形,重绘后图形就发生走样,纠结两天后在查了N次代码后发现是自己粗心将paint()函数内的this.x2=x2写成了this.x2=y2;(找hu总求救,他让我自己再纠结纠结,结果自己本着“失败九十九次,第一百次一定成功”的信念再认真检查后终于找到症结所在了,希望大家也能引以为戒,低级问题一定要自己耐心的去发现)
最开始把所有代码都写到一个类里面,看着非常没有条理,随着对值传递理解的加深,这才开始慢慢分开写
做五子棋时最纠结的是各种值的调用和监听器的设置,到现在还是比较迷糊(actionListener和mouseLitener)~典型的问题是每次老师给分析完之后自己会做一步,然后下一步就不知道该怎么办了!!缺乏自主性啊
最开始设置棋盘线是有问题的,找坐标计算坐标用了很长时间,但搞出来后也觉得没有想象中的那么难了。
画棋子设置监听器的时候确实遇到了很大问题,大部分是hu总帮忙解决的,现在还在消化过程中
每一个棋子画完后要存入chessBox数组中时也遇到了问题。当重绘时需要提取数组中的值,没有参数的数组是null,最开始忽略了这点
当一方获胜后弹出提示窗口,当关掉窗口后还可以继续落子。这个问题通过移除监听器来解决了
目前最大的问题是放一个棋子后,机器自动添加另外一方的棋子,虽然按照傻瓜规则可以添加,但判断输赢却出问题了~~
求高手指教!
发表评论
-
apache日志信息详解
2011-11-06 21:19 6319一、访问日志的格式 Apache内建了记录服务器 ... -
浏览器如何工作
2011-08-19 08:57 0http://taligarsiel.com/Projects ... -
编码实现用JDK中的Proxy实现springAOP功能
2011-08-18 15:04 792http://blog.csdn.net/iamtheevil ... -
Spring注解原理的详细剖析与实现
2011-08-14 23:09 84350本文主要分为三部分: ... -
Spring装配基本属性的原理分析与代码实现
2011-08-11 15:37 1481首先,做一个配置属性的基本测试。修改beans.xml,使引用 ... -
编码剖析Spring依赖注入的原理
2011-08-10 20:01 1868一、注入依赖对象 基本类型对象注入: <b ... -
Spring的三种实例化Bean的方法
2011-08-10 14:03 1Spring的三种实例化Bean的方法 1、 使用 ... -
Spring管理bean的原理自定义实现
2011-08-10 10:44 62441、Spring通过BeanDefinition管理基于S ... -
spring环境搭建与测试
2011-08-10 08:40 3473Chapter1、搭建与测试spring的环境 1、 ... -
java回调机制实现
2011-08-08 09:06 2106Java的接口支持提供了一种获得回调的等价功能的 ... -
log4j的使用与详细分析
2011-08-05 13:32 2692一、什么是log4j? http://logging.a ... -
log4j使用详解
2011-08-04 23:05 2http://logging.apache.org/log4j ... -
java解析XML的四种方法的学习与比较
2011-03-30 20:55 7294四种XML解析方法: ... -
自定义日志模块实现
2011-03-30 09:58 1167package wxy.XXXX.Utils; impo ... -
synchronized(this)
2011-03-29 09:17 70551、当两个并发线程访问同一个对象object中的这个synch ... -
详细解析Java中抽象类和接口的区别(转)
2011-03-24 23:48 975在Java语言中, abstract cl ... -
NIO学习笔记(三)---通道
2011-03-09 23:06 16031、通道基础 ... -
NIO学习笔记(2)--缓冲区
2011-03-09 18:20 9881、一个Buffer对象是固定数量的数据的容器。其作用是 ... -
封锁管理子系统模拟实现java版
2011-03-09 18:01 1245封锁管理子系统模拟实现 文件锁定 ... -
NIO学习笔记(一)I/O缓冲区操作
2011-03-07 20:04 1286上图简单描述了数据从外部磁盘向运行中的进程的内存区域移动的 ...
相关推荐
### Java基础学习总结 #### 一、Java基础知识 Java是一种广泛使用的高级编程语言,由Sun Microsystems于1995年发布。它具有平台独立性、安全性高、面向对象等特点,适用于开发各种应用程序。 ##### 1. IO流 IO流...
这份"JAVA学习历程(基础知识个人总结1,2,3)"的文档集合,显然是一位热情的学习者在探索JAVA世界时,逐步积累并整理出的心得体会。这些文档可能包含了从入门到进阶的各类关键知识点,旨在帮助读者构建全面的JAVA...
Java基础总结大全涵盖了Java编程语言的核心概念,从JVM、JRE和JDK的区别,到环境变量的设置,再到变量的定义和类型转换,深入浅出地讲解了Java的基础知识。 1. JVM、JRE和JDK: - JVM(Java Virtual Machine)是...
Java是一种广泛使用的面向对象的编程语言,其基础知识是学习Java编程的基础。以下是对Java中一些易混淆知识点的详细解析: 1. **final关键字** - 当`final`用于修饰变量时,它使得变量一旦被赋值后就不能再改变。...
【Java学习总结】 Java是一种广泛使用的面向对象的编程语言,其设计目标是具有跨平台、高性能和可移植性。本文将深入探讨Java的基本语法,包括注释、标识符、变量与常量、数据类型以及类型转换,这些都是Java编程的...
学习java语言的良好资料笔记,全是作者的总结,很实用。
学习Java基础,不仅需要掌握语法,还需要理解面向对象编程的概念,熟悉常用的类库和集合框架,以及如何利用JDK提供的工具进行开发和调试。随着技术的发展,Java不断更新,如Java 8引入了lambda表达式和流,Java 11...
以下是对Java学习的详细总结: 一、简介 Java由James Gosling于1995年在Sun Microsystems公司开发,最初设计用于电视顶盒,但后来因其“一次编写,到处运行”(Write Once, Run Anywhere)的理念,迅速被广泛应用在...
"java基础总结资料"涵盖了Java语言的核心概念,是学习和复习Java基础知识的重要资源。以下是一些主要的知识点: 1. **Java语法基础**:包括变量声明、数据类型(基本类型和引用类型)、运算符、流程控制(如if语句...
java学习总结(基础加web).pdf
个人学习交流博客:http://blog.csdn.net/sun_promise(我博客中的文章就有一部分是此笔记中总结的内容。) 本文档是基于毕向东老师的java基础视频和张孝祥老师的高薪技术视频和银行管理系统以及交通灯管理系统的...
java基础总结大全,其中有面试过程中百分百会被问到的问题。
本篇文章主要总结了Java学习的基础知识点,包括程序设计的基本结构、Java程序的执行方式、开发流程、核心技术和编码规范。 首先,Java程序设计的三种基本结构是顺序结构、选择结构和循环结构。顺序结构遵循自上而下...
Java学习流程可以总结为四步走:构建Java开发环境、学习Java基础语法、学习面向对象编程和应用编程。 Step 1: 构建Java开发环境 要学习Java,首先需要构建Java开发环境。包括下载JDK软件开发包、配置环境变量等。...
这篇文档是个人的Java学习笔记总结,旨在帮助0基础的学习者从零开始掌握Java基础知识,并逐步成为专业的Java开发者。以下是笔记中涉及的一些关键知识点: 1. **Java开发环境的设置**: 要开始Java编程,首先需要...
这篇“Java基础知识总结(经典)”涵盖了Java开发中的核心概念和重要知识点,旨在为初学者和有经验的开发者提供一个全面的回顾。以下是主要的学习点: 1. **Java环境配置**:在开始编程之前,必须安装Java ...
Java是一种广泛使用的面向对象的编程语言,其基础知识涵盖了多个方面,包括语法、面向对象特性、异常处理、多线程...以上只是Java基础知识的一个概述,每个话题都值得深入探讨和实践,不断学习和总结是提升技能的关键。
Java学习路线是一个逐步深入的过程,尤其对于初学者来说,一个清晰的计划至关重要。以下是对Java学习路线的详细解析: **第一阶段:Java基础** - **Java开发介绍**:理解DOS命令,掌握JVM(Java虚拟机)、JRE(Java...
Java学习总结 本文档主要总结了Java学习的主要知识点,包括Java的基本概念、变量、数据类型和运算符、选择结构、循环结构、数组等。通过对这些知识点的讲解,使读者能够深入了解Java语言的基本结构和编程思想。 一...