抽象类
1、抽象类:是在普通类的基础上增加了一系列的抽象方法,抽象类不是一个功能完整的类
使用abstract关键字定义的类,在抽象类之中可以包含有抽象方法(使用abstract定义并且没有方法体)
使用原则
抽象类必须有子类,而且子类(如果不是抽象类)则必须重写抽象类之中的全部抽象方法(普通类的子类可以选择是否要重写方法,而抽象的子类必须重写
抽象类的对象不能够直接使用关键字new进行实例化,但是可以依靠对象的向上转型实现抽象类的实例化(向上转型的核心意义:同一个方法,根据实例化子类的不同,可 以完成不同的功能)
抽象类的子类在使用的时候使用extends关键字继承,但是一定会存在有单继承局限
2.接口:是一种特殊的类,接口的组成就是全局常量和抽象方法,抽象方法的集合占99%
接口之中的全部抽象方法都是public权限
接口使用interface关键字定义,子类通过implements关键字可以实现多个接口,即接口没有单继承局限
接口必须有子类 而且子类必须重写接口中的全部抽像方法、
接口不能继承抽象类,但是一个借口尅继承多个接口,(标准严格化)
接口的两个重要设计模式(工厂设计模式 代理设计模式)
3 object类:
如果方法的参数上使用object类型接收,那么就表示可以接受全部的数据类型对象
object可以接受接口对象 数组 类对象
一个简单Java类从标准来讲要重写object类的三个方法;toString() equals() hashCode()
4.匿名内部类
一定是在抽象类和接口基础之上的一种扩充
匿名内部类不使用class定义,可以在实例化接口或抽象类对象的时候直接使用代码标记
5、包装类:针对基本数据类型的包装
:包装类分类:
对象型(object直接子类):boolean、character
数值型(number直接子类,number也是object的子类):Integer Byte Short Long Float Double
Number是一个抽象类里面的方法:intValue 。。。
jdk1.5之后提供有自动装箱和拆箱处理机制所以基本数据类型可以转换为对象
字符串变成基本数据功能:
String ---int : public static int parseInt(String str)
基本数据类型变为String : public static String valueOf(基本数据类型)