1.接口中可以写成员变量吗? 不可以,接口中只能写常量,由三个修饰符public static final修饰
2.接口中都可以写哪些方法: 抽象方法(最常见)默认方法(需要增加defalut) 静态方法
3.普通类,抽象类,接口中哪些有构造方法,哪些没有构造方法》
普通类有构造方法,new 对象时使用, 子类的构造方法第一行调用
抽象类有构造方法, 子类的构造方法第一行调用
接口没有构造方法,因为接口没有成员变量,也不需要对成员变量初始化
4.java中类和类的关系,类和接口的关系,接口与接口的关系:类和类,单继承,类和接口,多实现,类实现接口,接口与接口,多继承
5.接口和抽象类的区别
接口是方法的集合, 类是方法的抽象,类中可以有成员变量以及构造方法
相同点:都是java文件,编译之后都是.class文件, 都不能创建对象,都可以包含抽象方法,子类。实现类继承之后都必须重写所有抽象方法,之后才能创建对象
不用点:关键字不用extends,implement 接口中没有成员变量,抽象类中可以有成员变量。接口可以多实现,抽象类只能单继承
抽象类有构造方法,接口无构造方法。抽象类中可以有普通方法,接口中不能有普通方法、
多态,内部类,权限修饰符,代码块
面向对象三大特征,封装,继承,多态
什么是多态:严格意义来讲,同一个动作,具有不同的表现形式。
不是很严格的定义:同一个对象,具体不同的形态、
必须有继承关系或者实现关系
必须有方法的重写
只有满足了上述两个方法,才算是多态
多态的体现
父类类型的变量,指向了 子类类型的对象
代码表达:
Fu ff = new Zi();
举例子:
Animal 动物类 Dog 狗类 (假设Dog已经继承Animal,并且重写了某个方法)
Animal an1 = new Dog();
Animal 动物类 Cat 猫类 (假设Cat已经继承Animal,并且重写了某个方法)
Animal an2 = new Cat();
a.多态调用方法时,编译阶段看父类
b.多态调用方法时,运行阶段看子类