十,JAVA抽象,接口,多态
-
同一个体系才可以继承
abstract:表示抽象
-
可以用来修饰类和函数
-
抽象函数,抽象类
-
-
抽象函数:格式:修饰符 abstract 返回值类型 函数名(形参);
-
抽象类:格式:修饰符 abstract 类名{}
-
注意:
-
抽象函数必须位于抽象类中
-
抽象类中没有抽象函数,那么整个类在禁止别人创建它的对象
-
抽象类有构造器,但是不能创建对象
-
-
抽象类可以强制子类做事情:子类继承父类是,将父类中的抽象函数也继承了,那么子类要么声明为抽象类,要么重写抽象函数
-
abstract不能与哪些关键字一起使用
-
peivate
-
static不能和this soper一起用
-
final
-
抽象类与普通类的区别
-
抽象类既有普通函数又有抽象函数
-
抽象类有构造器,但是不能创建对象
模板法
-
当程序的一部分是确定的,另一部分是不确定的,不确定的地方交给子类来完成
-
模板法是线程的原理
接口
-
接口没有构造器
-
JDK8.0/1.8 之前只有两个成员
-
常量 : public static final 数据类型 常量名 = 初始值 ;
-
抽象函数 : public abstract 返回值类型 函数名(形式参数) ;
-
注意: 8.0之前的来给你个成员修饰符是固定的,可以省略不写
-
public static final double PI = 3.14;
double PIA = 3.14;
public abstract boolean m1();
int m2(int num);
-
-
JDK8.0开始 : 新成员
-
//默认级别函数
default void m3(){
System.out.println("default IA 函数 m3");
} -
//静态函数
static void m4(){ System.out.println("静态函数 m4");
}
-
类与接口之间的关系
-
类与类之间 : 单继承,支持多层继承
-
接口与类之间 : 多实现关系 , 支持多层实现
-
类来实现接口,类实现接口后,具备继承特征 : 类是子类 , 接口是父类
-
一个类可以在继承另一个类的同时,实现多个接口
-
-
-
接口就是规范
-
B是A中的一员时,B可以继承A
-
B像A一样 , 定义接口 ,都实现统一接口
-
多态:同一个事物的多种形态
-
向上转型:父类对象接受子类对象的引用
-
Animal animal2 = new Cat(); -
前提:
-
继承:
-
重写
-
向上转型
-
-
弊端:向上转型会失去子类特有功能
-
向下转型:将父类变量转换为子类类型
-
Cat cat3 = (Cat) animal2;
-
instanceof:判断前面的对象是否是后面这个类的类型
-
格式 : 对象名 instanceof 类型System.out.println(animal instanceof Cat);
-
函数编译能不能通过,看函数的左边有没有这个类型
-
执行看右边
-
浙公网安备 33010602011771号