引言
今天是javase重新学习的第三天,昨天端午,心态有些懈怠
知识点
继承
继承作为面向对象编程的三大特性之一,它的主要思想:共性抽取
可以用super方法来访问父类
【待练习完之后更新】
接口
接口的定义
我们可以把接口理解为一种公共的规范标准。它是抽象方法的集合。
接口与类的区别
- 接口不能够实例化
- 接口不是被类继承,而是被类实现 (implements)
- java8中的接口可以包含默认方法和静态方法
- 接口支持多继承
- 实现接口的类一般命名为*impl.java (软性要求)
接口中的常量
public static final int NUM=10;
//public static final 在熟练后可省略
【常量命名规则】对于不可变的常量,一般都用大写字母和 '_'组成。
接口实例
Demo01.java -作为接口
package Interface;
public interface Demo01 {
public abstract void way1();
void way2();
public default void way3(){
System.out.println("这是接口中的默认方法");
};
public static void way4(){
System.out.println("卧曹,静态方法");
}
public static final int a=10;
//【成员变量】——>常量
//不可变的常量最好用大写字母
int b=10;
}
Demo01impl.java ->实现类.
实现类必须实现接口中的所有抽象方法,除非是抽象类
package Interface;
public class Demoimpl implements Demo01 {
@Override
public void way1() {
System.out.println("way1方法被实现了");
}
public void way2(){
}
public void way3(){
System.out.println("默认方法被重写l");
}
}
测试类
package Interface;
public class DemoA {
public static void main(String[] args) {
//实现接口
Demoimpl a=new Demoimpl();
a.way1();
System.out.println("==================");
//默认方法可以直接调用
a.way3();
System.out.println("==================");
//静态方法直接由接口名调用
Demo01.way4();
System.out.println("==================");
//私有方法,Java9
System.out.println("==================");
}
}
接口与接口之间的多继承关系
类与类之间是单继承的,而类与接口之间是多继承的
当接口的抽象方法重复时无影响,而默认方法重复时,要在实现类中重写这一方法.