1.从现实中抽象出类分三步:(1)找出它的种类(2)找出它的属性(3)找出它的行为
所有现实世界中存在的具体事物都是对象;面向对象编程的基本元素是类,类确定了对象的形式和行为,类是一个摸版,用于创建同一类型的对象。
2.方法重载:同一个类中多个方法,方法名相同,参数列表不同,与返回值和访问修饰符无关。
3.面向对象的特点主要概括为:抽象性、继承性、封装性和多态性。
4.封装:将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。
好处:只能通过规定方法来访问数据;隐藏类的实现细节;方便加入控制语句;方便修改实现。
5.static 属性:属于这个类所有通过“对象名.static属性名”、“类名.static属性名”访问。
static 方法:通过“类名.static方法名”和“对象名.static方法名”访问。
static 代码块:主要作用是实现static 属性的初始化,当类被载入的时候执行它,且只被执行一次。
6.final 修饰类,则类不能被继承;修饰方法,则方法不能被重写,如果修饰属性的话,那么这个属性的值是不能被修改的。
7.访问修饰符:private 只能在本类中访问;默认(friendly):本类和同包 ;protected:本类、同包和子类;public :本类、同包、子类和其他。
8.继承:符合“is -a ”关系的设计使用继承(extends)。继承是代码重用的一种方式:将子类都有的属性和行为放到父类中。
this 关键字用于表示类的对象自身,在使用中的所有未指名调用的属性和方法;super 关键字引用当前对象的直接父类中的属性和方法(经常在基类与派生类中有相同的属性和方法定义时使用)。
9.抽象类(abstract):限制实例化,抽象方法没有方法体,抽象方法必须在抽象类里,抽象方法必须在子类中被实现,除非子类也是抽象类。
10.多态:同一个引用类型,使用不同的实例而执行不同的操作。(父类引用,子类对象)作用:提高可维护性和可扩展性。
11.接口:接口有比抽象类更好的特性:(1)可以被多继承(2)设计和实现完全分离(3)有更自然的使用多态(4)更容易搭建程序框架(5)更容易更换实现........
特性:(1)不可以被实例化(2)实现类必须实现接口的所有方法,常作为类型来使用(3)实现类可以实现多个接口,抽象类除外(4)接口中的变量都是静态常量。
12.instanceof 运算符:用来判断一个对象是否属于一个类或者实现了一个接口,结果为 true 和false。在强制类型转换之前通过它检查对象的真实类型,可以避免类型转换异常,从而提高代码的健壮性。
13.异常:(1)捕获异常:try: 执行可能产生异常的代码 catch :捕获异常 finally :无论是否发生异常,代码总能执行。(2)声明异常:throws :声明方法可能要抛出的各种异常 (3)抛出异常:throw :手动抛出异常。
14.log4j是一个非常优秀的开源日志记录工具。(1)在项目中加入log4j所使用的JAR文件(2)创建log4j.properties文件(3)编写log4j.properties,配置日志信息。
15.java IO流:一维、单向。字节流:InputStream.OutputStream (读取二进制文件) ;字符流:Reader . Writer (文本文件)。学过FileInputStream、FileOutputStream、BufferedReader、BufferedWriter(提供了缓冲区,能提供高效的数据写入)、PrintWriter(能够对通往输出流的数据进行格式化)。
字节流向字符流的转换:InputStreamReader、OutputStreamWriter。
16.集合框架:如果不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象可以使用集合框架。集合类主要有4种类型:Set(集)、List(列表)、Queue(队列)、Map(映射)。
collection 接口存储一组不唯一,无序的对象。List 接口:不唯一、有序。Set 接口:唯一、无序。
Map 接口存储一组键值对象,提供key和vaule的映射。
ArrayList : 实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高(查询)。
LinkedList : 采用链表存储方式。插入删除元素时效率比较高。
对比:Vector 和 ArrayList :实现原理相同,功能相同很多情况下可以互用。Vector 线程安全,ArrayList 重速度轻安全,线程非安全,长度需要增长时,Vector默认增长一倍,ArrayList 增长50%。
Hashtable 和 HashMap :Hashtable 继承Dictionary 类、线程安全、不允许 null 值,HashMap 实现 Map 接口、线程非安全、允许 null 值。
17.Iterator 迭代器实现集合遍历 :boolean hasNext () :判断是否存在另一个可访问的元素 ;object next() :返回要访问的下一个元素。
18.DML:对表中的数据进行增加、删除、修改操作。(insert 、update、delete)
DDL:对数据库对象的定义,包括删除、新建、修改 。(create 、alter、drop)
19.JDBC (Java Database Connectivity,java 数据库连接 ):可以为多种数据库提供统一访问。不同之处在于数据库驱动类名称、字符串、数据库连接字符串等参数不同。
JDBC API :与数据库建立连接、发送sql语句并处理结果。
DriverManager 类:依据数据库的不同,管理JDBC的驱动;
Connection 接口 : 负责连接数据库并担任传送数据的任务;
Statement 接口:由Connection 产生、负责执行sql语句;
ResultSet 接口:负责保存Statement执行后所产生的查询结果。
20.PrepareStatement 和 Statement 区别:PrepareStatement :后面直接带sql语句(可以带"?")(只有在executeQuery 或 executeUpdate 构造时,才会有sql 语句),它继承自Statement ,大批量操作数据库的时候可以提高效率,是一种预编译的方法。
21.JDBC访问数据库的步骤:
(1)加载JDBC驱动
示例:Class.forName("oracle.jdbc.driver.OracleDriver");
(2)与数据库建立连接
示例:con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL","system","admin");
括号里:JDBC URL,数据库用户名,密码。
(3)发送SQL语句并得到返回结果
(4)处理返回结果
(5)释放资源
2012年3月11号,今天到这吧,貌似学的东西,还有好多自己都没搞懂,还要去学oracle 数据库,加油,希望每天自己都在进步。