类和对象的概念:
程序是为了模拟现实生活,解决现实生活的各种问题,现实生活中的每样实物都是独立的,每种独立的事物都可以用一种“类型”来表示。
包的定义:
Java中的包类似于电脑中的文件夹,用户管理不同的类,防止类名冲突以及访问权限问题。
继承的定义与使用:
继承是面向对象程序设计的一个重要特征,它是通过继承原有类派生出子类,进而构造出更为复杂的子类,子类既有新定义的行为特征,又继承了原有类的行为特征。
抽象类与接口
抽象类的定义和使用:
在设计父类的某些方法时,需保证子类继承父类中的某些方法,但父类因为比较抽象不是具体的,无法准确知道其子类如何类实现这些方法的细节,此时便可将父类定义为抽象类,那些需要子类继承,却又无法知道其实现细节的方法,将其定义为抽象方法。具体实现细节交由继承抽类的子类实现,抽象类作为子类的模板,从而避免子类在设计时的随意性,同时提高的代码的重用。
f inaL关键字的使用:
final用中文表示是最终的意思,final修饰的类不能被继承修饰的方法不能被重写,修饰的变量叫常量且定以后不能在其他地方改变值。
接口:
接口就是定义的一组未实现方法,强制要求实现接口的子类必须完成这些方法,从而提高应用的灵活扩展性.
异常处理
异常:
异常就是指程序运行过程中出现的一些错误,一旦出现错误则直接退出终止程序运行。
异常处理;
Throw able, JAVA中最顶级的异常类,又包含ERROR异常和EXCEPTION异常。
Throw able, JAVA中最顶级的异常类,又包含ERROR异常和EXCEPTION异常。
EXCEPTION又分为两类异常:
运行时异常就是程序在运行的过程中出现的异常,非运行时异常分为SQL异常和IO文件操作异常。
THROW和THROWS的使用:
THROW和THROWS主要将异常抛出由调用者来完成异常的处理。
目的是为了让调用者去获取更完整的异常信息。当然抛出异常一般和自定义异常配合的较多。
Java常用类:
Java中的异常处理方式:
⑴1使用try-catch对异常进行捕获
2使用throws关键字在出现异常的方法签名上抛出异常类
Java中的常用类-Object:
Object类是所有Java类的父类,Java可把任何类型的对象赋值给Object类型的变量,如果一个类在声明时,没有使用extends关键字为其显示指定父类,则该类默认继承Object类。
Object提供的常用方法:
equals判断指定对象与该对象是否相等
hashCode返回该对象的哈希码值
toString使用字符串表示该对象信息
集合:
Java中集合概达:
Java中集合概达:
集合都有着自动增长的优势,没有固定长度,可根据添加的元素数量自动扩容。
集合分两大派系:Collection和Map接口
Collection存储数据时直接存入
Map存储数据则需要有一个key关键字,用于快速获取定位所用。
List接口及它的实现类:
List集合代表一个元素是有序的且可以重复的集合,集合中每个元素都有其对应的顺序索引,List集合允许添加重复元素,可以通过索引来访问指定位置的集合元素。
List接口有两个最为常用的实现类:
ArrayList和lLinkedList
ArrayList是基于数组实现的List类,底层是通过一个长度可变的数组实现的,允许对元素进行快速的随机访问。
LinkedList类是List接口另一个重要的实现类,采用链表数据结构,随机访问速度则相对较慢。
HashSet集合和迭代器:
HashSet是Set接口的最常用的实现类。HashSet按Hash算法实现存储集合中的元素,具有良好的存储和查找性能。HashSet具有以下特点:
(1)不能保证元素的排列顺序,顺序可能与添加顺序不同,顺序也有可能发生变化。
(2)集合元素值可以是null。
HashTable和HashMap的区别:
HashMap允许出现空值、空键HashMap线程异步,效率较高HashMap继承自AbstractMap
HashTable不允许出现空值、空键HashTable线程同步,效率较低HashTable继承自Dictionary
内部类和泛型:
内部类的创建和使用:
为实现程序设计的需要,需将一个类放在另一个类的内部定义,定义在其他类内部的类就称为内部类,包含内部类的类也被称为外部类。
内部类有如下作用:
(1)内部类提供了更好的封装,可将内部类隐藏在外部类内,不允许同一个包中的其他类访问该类。
(2)内部类成员可直接访问外部类的私有数据。
(3)匿名内部类适用于创建那些仅需要一次使用的类。
静态内部类创建和使用:
使用static修饰的内部类,被称为静态内部类。
静态外部类属于外部类本身,而不属于外部类的某个对象。目的是:为了安全性、封装性。
匿名内部类创建和使用:
关于匿名内部类,有如下两条规则:
(1)匿名内部类不能是抽象类。
(2)匿名内部类不能定义构造方法。
注意:
如果想在匿名内部类中访问到外部类的局部变量则必须将局部变量修饰成常量,否则程序报错!