(java学习.doc
文本预览下载声明
Equals与==的区别:
==是比较操作符,可以用来比较基本数据类型的二进制。Equals是object类的方法,不能被基本数据类型调用,只能使用对象调用。==用来比较引用类型时,比较的是虚地址,而equals方法在object中的定义与==比较类型相同,也比较引用的虚拟地址。然而equals方法可以被覆盖,重写在子类需要的比较逻辑。而==不可重写,永远都比较虚地址。
面向对象的特征:封装、继承、多态。
类与对象:类是对一组具有相同属性、相同操作、相同关系和相同语义的对象的抽象。
对象是类的一个实例。
基本数据类型:(四类8种基本类型)
整型:byte(byte)0 、short (short)0 、int 0 、long 0L 、
浮点型: double 0.0d 、float 0.0f
字符型:char \u0000(空)
布尔型:boolean false
异常处理:try {可能出现错误的代码块} catch(exception e){进行处理的代码} finally{一定会运行的代码}
封装:是将“属性和行为”结合在一起,定义一种类型,通过使用private将信息隐藏。继承:是通过子类继承父类来达到复用父类的目的。从而实现“IS—A”关系。多态:指声明形式一致,而实现方式却不同的特征。抽象类:不能被实例化的类。接口:一种特殊的抽象类,是描述某个类或构件的一个服务操作集,即接口是类或构件对其它类或构件提供的功能、操作和行为。
线程的概念:
线程是指进程中一个执行流程,一个进程中允许同时启动多个线程,他们分别执行不同的任务,在基于线程的多任务而处理环境中,线程是执行特定任务的可执行代码的最小单位;
进程是指系统中正在运行中的应用程序,它拥有自己独立的内存空间;
线程与进程的主要区别在于:每个进程都需要操作系统为其分配独立的内存地址空间,而同一进程中的所有线程在同一块地址空间中,这些线程可以共享数据,因此线程间的通信比较简单,消耗的系统开销也相对较小。
任何一个Java程序都至少有一个线程,即主线程;主线程的特殊之处在于:它是产生其它线程子线程的线程;通常它必须最后结束,因为他要执行其它子线程的关闭工作。
Static与final修饰符:Static被称为静态,可用来修饰类的属性和方法,但不能修饰类,可以修饰代码块,Static属性是类的所有对象共享的属性,不绑定到某个对象,属于整个类,且存储空间不变。只需初始化一次。Static成员可以使用对象调用,也可以直接使用类名调用,不需要实例化就可以用了。Static方法也如此。
final可以修饰变量,使之成为常量,可修饰类、属性、方法。final修饰属性,属性由变量成为常量,赋值后不能改变,赋值方式两种:声明是赋值和在构造方法中赋值,其分为编译常量和运行期常量。final类:不能被继承;final方法:不能被子类覆盖。
访问权限
private:私有权限。属性,方法,类内部使用(不能在方法体内声明的变量前加
private修饰符)
default:同包权限。类,属性,方法,包内部的不同类之间使用
public:受保护的权限。属性、方法。不同包中的子类使用
protected:公共权限。类,属性、方法。不同包中的类使用
文件I/O操作
import java.io.*;
File f=new File(c:\\1.txt);//File类是唯一操作磁盘文件的类
InputStream/OutputStream 字节流类//IOException
Reader/Writer 字符流类
//这四个类都是抽象类,需要依靠子类来实例化
File f=new File(“11.txt”);//创建一个名为11.txt的文件对象
f.CreateNewFile(); //真正地创建文件
分类:
按流分为输入流和输出流;
按传输单位分为字节流和字符流;
还可以分为节点流和过滤流。
节点流:负责数据源和程序之间建立连接;
过滤流:用于给节点增加功能。
字节输入流:io包中的InputStream为所有字节输入流的父类。
Int read();读入一个字节(每次一个);
字节输出流:io包中的OutputStream位所有字节输入流的父类。
Write和输入流中的read相对应。
文件输入流FileInputStream
文件输出流FileOutputStream
FileReader FileWriter
字节流和字符流的转换
InputStreamReader 字节流到字符
OutputStreamWrite 字符到字节
BufferedWriter out=new BufferedWriter(new OutputStreamWriter(Sys
显示全部