https://blog.csdn.net/chenssy/article/details/12858267
1.抽象类提供了继承的概念,它的出发点就是用来继承,否则它没有存在的意义,在一个以抽象类为节点的继承关系等级链中,叶子节点一定是具体的实现类。
使用抽象类需要注意的几点:
1\. 抽象类不能被实例化
2\. 抽象方法必须由子类进行重写
3\. 只要包含一个抽象方法,该类就必须定义为抽象类,不管是不是还包含其他方法
4\. abstract 不能与 final并列修饰同一个类,abstract不能与private、static、final或native并列修饰同一个方法。
2.接口
接口是抽象类的延伸,java为了保证数据安全是不支持多重继承的,但是接口不同,一个类可以实现多个接口,不管这些接口有没有关系,所以接口弥补了不能多重继承的缺陷,接口和抽象类共同使用,既可以保证数据的安全性又可以实现多重继承。
注意一下几个问题:
1\. interface 的方法访问权限会自动被声明为public,确切的说只能为public,显示的声明为protected、private会出错。
2\. 接口中可以定义“成员变量”,或者说不可变的常量,因为接口中“成员变量”会自动变为public static final,可以通过类名访问:ImplementsClass.name。
3\. 接口中不存在实现的方法。
4\. 实现接口的非抽象类必须实现接口的所有方法,抽象类可以不必。
5\. 不能使用new操作符实例化一个接口。
6\. 在实现多接口的时候,要避免方法名的重复。
网友评论