您的位置:首页 > 其它

Day 13 抽象类,接口

2018-01-12 19:04 148 查看

一:抽象类

abstract:
1,如果一个方法用abstract修饰,那么这个方法是不能有方法体的,这个称之为【方法的声明】一个方法如果用abstract修饰,【要求继承该类的子类必须重写这个方法】
2,如果一个类中存在用abstract修饰的方法,那么这个类必须abstrac修饰The type Hero must be an abstract class to define abstract methods
3, 【抽象类是没有自己的类对象】。因为在用abstract修饰的抽象类当中,有可能存在抽象方法,而抽象方法是没有方法体,不知道应该运行什么代码,而创建抽象类对象之后看,就会存在这样的隐患,所以【抽象类是没有自己的类对象】
 【总结】
  如果一个类继承了用把abstract修饰的抽象类,那么要求该类必须【实现】抽象类中所有抽象方法

二:接口  interface

格式:
interface 接口名 {
    //拓展的内容
    成员变量 和 成员方法
    }

【遵从】接口的关键字
implements
1,在接口中成员变量默认的缺省属性是public static final修饰,要求在定义成员变量时直接赋值
//成员变量
int num = 10; //【缺省属性】public static final
//成员方法
public void testA(); //【缺省属性】abstract

2, 在接口中成员方法的【缺省属性】是abstract,这里是要求【遵从】接口的类来完成的方法
【注意事项】
1,在interface中定义方法,都是一个abstract修饰的方法,要求【遵从】接口的类要实现这些方法
2,在interface中定义法成员变量都是用final修饰,只有使用权,没有赋值权
3,一个类可以【遵从】多个接口,不同的接口用逗号隔开

三,抽象类和接口区别联系

区别一:单继承多实现,抽象类只能单继承,接口能多实现。区别二:抽象类是一个类,可以被任意权限修饰符修饰,静态和非静态属性,final和非final属性,可以有抽象方法和非抽象方法。接口只能被public,final修饰,只有静态static方法,而且是不可修改的。区别三:抽象的事物不同:抽象类是对整个类(所有)抽象,包括属性和行为,接口是对类的行为(局部)进行抽象区别四:定义抽象类和接口的思想不同设计抽象类:我子类需要,所以我定义抽象类。设计接口:我接口规范某一行为,我某类需要这个行为,我实现某接口。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: