java 读书笔记

 

java 读书笔记

第一,   Java语言和C++语言一样,是面向对象的语言,它封装了好多底层的内容,是工程应用中进行编程的相当好的选择。要想运行Java程序,首先得有环境,即要安装JDK。

第二,   介绍一些重要的包和类

Java.lang:提供用Java语言开发编程所用的基本类,如Object,System,String,Integer

Java.awt:用来管理和构建应用程序的图形界面

Java.applet:提供可执行Applet特殊行为的类

Java.net:网络通信和URL类

Java.io:提供输入输出文件的类

Java.util:为任务设置的使用程序类和集合框架类

第三,   Java程序开发的流程:在TEXT文档中写好程序->在DOS下打开该文件->javac 程序名.java->java 序名。

第四,   重要的函数

输出System.out.println();

数组长度 int x[],则它的长度为x.length

将数值转化为字符串toString()

比较两个数是否相等 equals()

得到事件的命令    e.getCommand();其中 e是ActionEvent类型的。

第五,   程序的一般架构是:

Public class 类名

{

Public static void main(String[] args)

 {

}

}

第六,   方法重载,编译器将根据参数的个数和类型来决定当前所调用的方法。

第七,   Static说明:创建一个类的成员,但它又独立于该类的任何实例对象,只需要声明为static就可以了。于是乎,就不能使用this,也不能直接访问实例变量(通过实例对象)。

第八,   Final的说明:final修饰成员变量则为常量,final修饰成员函数则为最终方法。

第九,   类继承的实现:extends

第十,   Super的说明:this用来引用当前对象,super用来引用当前对象的父类。

第十一,              关于包的应用,其实它就是一个文件夹,import test.*;的话就得先创建test文件夹。

第十二,              对异常的处理:一、使用try-catch-finally语句捕获异常;二、通过throws子句生命异常,还可以定义自己的异常类,并用throw语句来抛出它。

第十三,              InputStream和OutputStream是面向字节的,Reader和Writer是面向字符的。

第十四,              输入字节流抽象类InputStream有许多的子类,比如FileInputStream……

第十五,              建立一个文件输入流FileInputStream的步骤:

File myFile=new File(“..”);

FileInputStream myInputStream=new FileInputStream(myFile);

第十六,    对象的串行化:对象通过写成描述自己状态的数值来记录自己。                                 

       一个类对象的串行化:首先,这个类必须实现Serializable接口;其次,该对象必须与一定的输入输出对象流联系起来,通过对象的输出流将对象的状态保存起来,通过对象的输入流将对象的状态恢复。

第十七,对对象进行串行化:

   

    定制串行化时需要重写writeObject(ObjectOutputStream out);以及readObject(ObjectInputStream);其实就是把信息保存在一个*.ser的文件里面,然后再读取。

第十八,RandomAccessFile类提供了随机访问文件的能力。

第十九,对象串行化:可对JAVA对象进行储存和还原,保存运行是产生的信息。

第二十,把JAVA 对象和基本数据类型输出到串行化流中。

      FileOutputStream f=new FileOutputStream(“temp”);

      ObjectOutputStream s=new ObjectOutputStream(f);

      s.writeObject(“Today”);

第二十一,对于某些类型的对象,其状态是瞬时的,这样的对象是无法保存其状态的,需要用transient。

第二十二,构造线程可用继承Thread来创建对象。线程中用start()来启动,实现时要重新实现run()方法。

第二十三,线程的控制:

1,  创建时声明:MyThreadClass myThread=new MyThreadClass();

2,  启动线程:Thread myThread=new MyThreadClass();

             myThread.start();

第二十四,wait()方法:.为线程提供的用于线程之间通信的同步控制方法。Wait()使当前线程主动释放互斥锁,并进入该互斥锁的等待队列。等待其他线程调用notify()方法继续执行本线程。

第二十五,daemon线程:服务线程,优先级比较的低,为同一进程中的其他线程或对象提供服务。

第二十六,synchronized(同步)来实现对象的互斥锁关系。

第二十七,几个重要的AWT软件包:

           Java.awt:包含基本组件及类和方法。

           Java.awt.event:提供事件类和监听器。

第二十八,常用的布局管理器:

          FlowLayout:从左到右,从上到下,一个挨一个地放到容器中。

          BorderLayout:按北、东、西、南、中安排组件。

          GridLayout:网格布局管理器。

          SetLayout()方法实现其中的一种布局。

第二十九,事件的授权模型:从一个事件源授权到一个或多个事件监听者,组件作为事件源可以触发事件,通过addxxxxListener向组件注册监听器,一个组件可以注册多个监听器,如果组件触发了相应类型的事件,此事件被传送给已注册的监听器,事件监听器负责事件的处理。

第三十,事件监听:

1,  引入包:import java.awt.event.*

2,  类继承监听类,比如:TestAddListener implements ActionListener

3,  注册监听器,比如:b=new Button(“press”);

                     b.addActionListener(this);

4,实现具体的接口方法,比如:

               Public void  actionPerformed(ActionEvent e){}

注意:可以声明多个接口,接口之间用逗号隔开;可以同时监听一个事件源上发生的多种事件。

第三十一,事件适配器:用户通过这个可以不用实现全部的接口方法,只需要实现感兴趣的接口就行了。

第三十二,基本组件的应用

        1,BUTTON:

           getActionCommnd():得到按钮的标识符。

2,CheckBox:

CheckBox():构造函数。

            getItem():获得被修改复选框中的字符串。

第三十三, 向小应用程序传递参数

            <PARAM NAME=”size” VALUE=”Helvetica”>

            利用Applet类的getParameter()方法获得参数值。

第三十四,多媒体支持:

1,  加载图像 getImage();

2,  跟踪图像文件何时下载完 ,使用MediaTracker类

MediaTracker tracker=new MediaTracker(Component comp);

Tracker.addImage(Image img,int id);

等待一个图像完全下载完毕

try{

   tracker.waitForID(id);

}catch(InterruptedException e){};

3, 显示图像 drawImage();

4,处理图像

   AWT 提供BufferedImageOp接口进行图像处理。例子;

   BufferedImageOp op=….;

   BufferedImage filteredImage=new BufferedImage(image.getWidth(),image.getHeigth(),image.getType());

5,  动画显示频率:

long startTime=System.currentTimeMillis();

…….

startTime+=200;

Thread.sleep(Math.max(0,startTime-System.currentTimeMillis()));

第三十五,小应用程序与浏览器的通信

1,URL getCodeBase():用于从浏览器获取Applet 的URL地址。

2,URL getDocumentBase():用于从浏览器获取Applet所嵌入的HTML文件的URL地址。

3,  String getParameter(String name);用于获取HTML文件中名称为PARAM单元所给出的参数值(value),其中参数名name是与大小写无关的,但返回的参数值与大小写有关。

 

   

转载于:https://www.cnblogs.com/xjx-user/archive/2012/12/13/2815570.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值