java抽象类
为了保证非抽象子类重写抽象方法:抽象类可以不包括抽象方法但是含有抽象方法的类必须是抽象类这句话怎么理解呢?...
为了保证非抽象子类重写抽象方法: 抽象类可以不包括抽象方法 但是含有抽象方法的类必须是抽象类
这句话怎么理解呢? 展开
这句话怎么理解呢? 展开
5个回答
展开全部
抽象类是指不允许被实例化的类;抽象方法是没有方法体的方法。
1、抽象类可以不包括抽象方法,它反正不会去实例化,里面的方法是不是抽象的没有本质影响。
2、但是含有抽象方法的类绝不能被实例化,否则执行这个方法的时候,怎么办?
3、如果子类是非抽象的,那么它就必须实现父类中的抽象方法;否则,它继承来的抽象方法仍然没有方法体,也是个抽象方法,此时就与“含有抽象方法的类必须是抽象类”相矛盾了。
比如说,我在纸上画一个饼(抽象类),饼有个“吃到嘴里沾一嘴芝麻”的方法。我可以在饼上画几个点假装是芝麻,这时候“沾芝麻方法”就是个抽象方法,因为它不会真的掉芝麻;我也可以在饼上蘸点儿真芝麻,这时候“沾芝麻方法”就是个有实现的方法。但是用哪个方法都可以,因为没人会去真的吃画的饼吧。
但我要真的去照着这个图烤一个饼(非抽象子类),那这个子类的“吃到嘴里沾一嘴芝麻”的方法就必须有具体的实现。否则烤出来,一吃,没芝麻啊!食客非上消协投诉不可。
1、抽象类可以不包括抽象方法,它反正不会去实例化,里面的方法是不是抽象的没有本质影响。
2、但是含有抽象方法的类绝不能被实例化,否则执行这个方法的时候,怎么办?
3、如果子类是非抽象的,那么它就必须实现父类中的抽象方法;否则,它继承来的抽象方法仍然没有方法体,也是个抽象方法,此时就与“含有抽象方法的类必须是抽象类”相矛盾了。
比如说,我在纸上画一个饼(抽象类),饼有个“吃到嘴里沾一嘴芝麻”的方法。我可以在饼上画几个点假装是芝麻,这时候“沾芝麻方法”就是个抽象方法,因为它不会真的掉芝麻;我也可以在饼上蘸点儿真芝麻,这时候“沾芝麻方法”就是个有实现的方法。但是用哪个方法都可以,因为没人会去真的吃画的饼吧。
但我要真的去照着这个图烤一个饼(非抽象子类),那这个子类的“吃到嘴里沾一嘴芝麻”的方法就必须有具体的实现。否则烤出来,一吃,没芝麻啊!食客非上消协投诉不可。
展开全部
abstract class :抽象类;
抽象修饰类的时候表示是一个抽象类,这个类不能实例化;
如果一个类中有抽象方法,那么这个类一定是一个抽象类;
如果一个抽象类可不可以没有抽象方法?可以的;
抽象类出现的目的就是为了继承;
抽象类一般用在哪里?一个抽象类一般作为工具类;
抽象类中的抽象方法目的就是为了覆盖;
抽象的方法,不能使用private修饰;
抽象修饰类的时候表示是一个抽象类,这个类不能实例化;
如果一个类中有抽象方法,那么这个类一定是一个抽象类;
如果一个抽象类可不可以没有抽象方法?可以的;
抽象类出现的目的就是为了继承;
抽象类一般用在哪里?一个抽象类一般作为工具类;
抽象类中的抽象方法目的就是为了覆盖;
抽象的方法,不能使用private修饰;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实狠好理解,因为抽象类包括抽象方法和非抽象方法。
如果父类是一个抽象类,当子类继承父类的时候,要实现抽象的方法,如果不实现的话,那么子类就必须是一个抽象的类。
如果父类是一个抽象类,当子类继承父类的时候,要实现抽象的方法,如果不实现的话,那么子类就必须是一个抽象的类。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
抽象类不是好的最佳实践。接口才是最好的最佳实践。
现在用抽象类做项目的越来越少了。可还在用这个考来考去。
现在用抽象类做项目的越来越少了。可还在用这个考来考去。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
说是如果是抽象的类一定要有抽象的方法,如果有抽象的方法就必须是抽象的类。我不明白你觉得哪是有什么问题?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询