目录
抽象类的特性
1.抽象类不能被实例化(即不能使用new关键字创建引用类型)
2.抽象类中的抽象方法如果被abstract修饰则可以不用写出具体方法执行过程
3.抽象类也是类,在抽象类中也可以定义普通成员变量和普通成员方法,甚至构造方法
4.抽象方法不能被private修饰(且如果方法未加任何修饰限定符,则默认为public修饰)
5.抽象方法也不能被final和static修饰,因为抽象类一定要被继承,且抽象类继承之后在子类中要对抽象类中所有的抽象方法进行重写
6.抽象类的目的就是为了继承,所以抽象类一定要被继承,且继承之后子类要对抽象类的所有抽象方法进行重写,如果不重写子类也会默认为抽象类,必须用abstract对子类进行修饰
此时重写之后编译器就不会报错
7.抽象类不一定含有抽象方法,但是如包含抽象方法的类一定是抽象类
接口的特性(接口是一种引用类型)
1.接口不能被实例化(即不能使用new关键字来创建引用)
2.接口不能单独使用,必须通过类来实现接口中的抽象方法(用关键字implements来实现)
3.接口中的方法默认为abstract public(即使不写,编译器默认在方法前面加上abstract public),接口中的所有方法都必须是抽象方法,故方法不能有执行过程,且用其他修饰限定符修饰会报错
4.当用类来实现接口时,必须对接口中的所有抽象方法进行重写,在重写时必须用public修饰重写的方法 (因为类的修饰限定符要大于等于所实现接口中方法的修饰限定符,接口中默认时public,所以类中只能是public)
5.接口中可以含有变量,但是接口中的变量会被隐式的指定为 public static fifinal 变量
6.接口中不能有静态代码块和构造方法
7.如果类没有实现接口中的所有的抽象方法,则类必须设置为抽象类
希望可以通过这篇博客加强大家对抽象类和接口特性的了解,这样对我们书写代码会有很大帮助,感谢支持!!!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/89461.html