抽象类的特点是什么
文章插图
1、抽象类不能直接实例化,并且对抽象类使用 new 运算符是编译时错误 。虽然一些变量和值在编译时的类型可以是抽象的,但是这样的变量和值必须或者为null,或者含有对非抽象类的实例的引用 。
2、允许(但不要求)抽象类包含抽象成员 。
3、抽象类最大的特点是不能被密封 。
抽象类使用什么关键字来声明c#语法:
抽象类用abstract,抽象类的特点是只能用来继承,不能实例化 。
密封类用sealed,密封类的特点是不能用来继承 。
抽象类的特点抽象类不一定含有抽象方法,虽然语法允许,但是定义抽象类都要写抽象方法
抽象类中能出现成员变量
抽象类中可以出现构造方法,虽然抽象类不能实例化,但是他可以有子类,子类在创建自己对象的时候,要先要把父类的成员变量初始化 。抽象类中设计的构造方法就是初始化自己的成员变量用的 。(注:构造方法不能被继承,但是可以被调用)
抽象类的子类可以是普通类,也可以是抽象类 。普通类: 没有abstract修饰,实现了抽象父类所有的抽象方法 。抽象类: 使用abstract修饰,可以不重写抽象父类的抽象方法,也可以添加自己独有的抽象方法 。
抽象类作为父类,也可以写出多态,抽象类的引用指向它的子类对象
为什么使用抽象类和接口简单来说吧
抽象类是在接口和实体类之间的一个桥梁
例如
做一个接口叫做飞行FlyAnimalAction,里面定义一个方法叫做flying,再定义一个方法叫做eat
做一个类叫做蚊子实现接口,蚊子要实现flying方法,实现自己的eat方法
做一个类叫做苍蝇实现接口,苍蝇也要实现flying方法,实现自己的eat方法
你发现所有会飞的动物都要实现这个接口,很麻烦,不如
做一个抽象类FlyAnimal,然后实现上面的接口
在里面实现flying这个方法,因为大部分的飞行动作是一样的,而eat方法则继续写成抽象方法,因为大部分的动物吃东西是不一样的
下面你再写蚊子类就简单了,可以直接继承这个抽象类,然后实现自己的吃方法就行了
而且苍蝇类的制作也是一样,这个时候抽象类的功能就显示出来了,当然抽象类的功能远远不是这些,只是初期理解到这里就够了 。
有兴趣可以交流交流,Q:405960,注明:JAVA技术交流
面向对象编程中的对象和类抽象类的特点:
1、抽象类的方法可以是抽象的,也可以是不抽象的 。
2、抽象类的方法可以全是抽象的,也可以全是不抽象的 。
3、有抽象方法的类必须是抽象类,或者是接口(但是接口的方法定义必须是public static abstract 修饰) 。
4、子类继承抽象类,必须实现抽象类的所有抽象方法 。
5、抽象类不能被实例化,没有构造函数 。
6、子类中的抽象方法不能与父类的抽象方法同名 。
7、抽象类的默认属性修饰符是public abstract 。
【抽象类的特点是什么,抽象类使用什么关键字来声明】8、抽象类的属性不能定义成静态的 。
9、如果抽象类的抽象方法不被重写,那么子类也必须是抽象类 。
推荐阅读
- 脆皮巧克力酱做什么好吃,巧克力酱和脆皮酱的区别
- 能够预防心脑血管疾病的饮食
- 问:被称为【画圣】的古代画家是?
- 表示老师教诲的成语
- 谷麦窝料哪款效果最好 有超级好用的谷麦窝料推荐吗
- 怎样防蜈蚣
- 火山喷出的水蒸汽是从哪里来的呢
- 男生考研选择什么专业好
- 心寒的句子狠狠刺入心脏 心寒失望的微信说说
- 食堂的红烧肉炖土豆很好吃是怎么做的呢