java抽象类

为了保证非抽象子类重写抽象方法: 抽象类可以不包括抽象方法 但是含有抽象方法的类必须是抽象类

这句话怎么理解呢?

抽象类是指不允许被实例化的类;抽象方法是没有方法体的方法。

1、抽象类可以不包括抽象方法,它反正不会去实例化,里面的方法是不是抽象的没有本质影响。
2、但是含有抽象方法的类绝不能被实例化,否则执行这个方法的时候,怎么办?
3、如果子类是非抽象的,那么它就必须实现父类中的抽象方法;否则,它继承来的抽象方法仍然没有方法体,也是个抽象方法,此时就与“含有抽象方法的类必须是抽象类”相矛盾了。

比如说,我在纸上画一个饼(抽象类),饼有个“吃到嘴里沾一嘴芝麻”的方法。我可以在饼上画几个点假装是芝麻,这时候“沾芝麻方法”就是个抽象方法,因为它不会真的掉芝麻;我也可以在饼上蘸点儿真芝麻,这时候“沾芝麻方法”就是个有实现的方法。但是用哪个方法都可以,因为没人会去真的吃画的饼吧。
但我要真的去照着这个图烤一个饼(非抽象子类),那这个子类的“吃到嘴里沾一嘴芝麻”的方法就必须有具体的实现。否则烤出来,一吃,没芝麻啊!食客非上消协投诉不可。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-01-17
abstract class :抽象类;
抽象修饰类的时候表示是一个抽象类,这个类不能实例化;

如果一个类中有抽象方法,那么这个类一定是一个抽象类;
如果一个抽象类可不可以没有抽象方法?可以的;

抽象类出现的目的就是为了继承;

抽象类一般用在哪里?一个抽象类一般作为工具类;

抽象类中的抽象方法目的就是为了覆盖;
抽象的方法,不能使用private修饰;
第2个回答  2012-01-18
其实狠好理解,因为抽象类包括抽象方法和非抽象方法。

如果父类是一个抽象类,当子类继承父类的时候,要实现抽象的方法,如果不实现的话,那么子类就必须是一个抽象的类。
第3个回答  2012-01-18
抽象类不是好的最佳实践。接口才是最好的最佳实践。
现在用抽象类做项目的越来越少了。可还在用这个考来考去。
第4个回答  2012-01-18
说是如果是抽象的类一定要有抽象的方法,如果有抽象的方法就必须是抽象的类。我不明白你觉得哪是有什么问题?

java中抽象类和接口的区别?
Java中抽象类和接口在概念和使用上有明显的区别。区别:1. 定义方式:抽象类是一种包含抽象方法和可能不包含实现的方法的类,它不能被实例化;而接口是一种完全抽象的类,它只包含方法的声明而不包含实现,所有方法都是公开的,并且可以被多个类实现。2. 继承限制:Java中每个类只能继承一个抽象类或...

(java相关)怎么理解抽象类,继承和接口?
抽象类与接口是Java中用于实现面向对象设计的关键概念。它们在实现抽象概念、定义行为规范、以及促进代码重用方面发挥着重要作用。抽象类的引入是为了定义一组共享特性或行为的基类。抽象类包含至少一个抽象方法,即只有声明而没有实现的方法。抽象类通过抽象方法提供了一种模板,让子类可以继承并实现这些方法。

如何生动的解释为什么java中要用抽象类?
在Java中,抽象类的使用是为了在设计模式中实现代码的重用和抽象化。抽象类主要是用来将差异性的方法抽象化,由子类进行扩展实现;共同性的方法具体化,由所有子类继承实现。抽象类允许定义共同的属性和行为,然后由不同的子类根据需要进行特定的实现。抽象类的定义中使用了abstract关键字,表明这是一个抽象...

Java干货 | 什么是抽象类?怎么定义
Java中,抽象类是一种特殊类,其核心特征是不能被实例化,主要用于被其他类继承并实现其抽象方法。抽象方法没有实现,只有定义,必须在子类中提供具体实现。抽象类可以包含非抽象方法和属性,但至少需要有一个抽象方法。抽象类和抽象方法的定义均使用Java的关键字abstract。抽象类有以下特性:不能直接创建...

Java知识点 丨 Java抽象类的作用是什么?
在Java编程中,抽象类是一种独特的存在,它扮演着至关重要的角色。首要特性就是,抽象类无法直接被创建对象,只能由其他类通过继承来实现。其核心作用主要体现在以下几个方面:首先,抽象类区别于普通类的关键在于它不能实例化,并且至少包含一个或多个抽象方法,这些方法没有具体实现,留给子类去实现。

java语言中的抽象类如何实例化?
抽象类在Java中是无法直接实例化的,因为抽象类中至少包含一个抽象方法,该方法未实现任何具体的代码逻辑。直接实例化抽象类会导致编译错误。要使用抽象类,需要首先创建一个类继承抽象类,然后实例化这个继承类的对象。继承抽象类意味着你必须实现所有抽象方法。通过继承抽象类并创建实例,你可以充分利用抽象...

java知识点丨java抽象类的作用是什么?
探讨抽象类在Java中的作用 在Java编程语言中,抽象类扮演着核心角色,为开发者提供了一种灵活的机制来定义共享行为和属性。理解抽象类的关键在于其与普通类和接口的区别。首先,让我们聚焦于抽象类的作用。抽象类允许我们定义一组共有的方法和属性,这些在子类中实现。当多个类拥有共同的行为和属性时,...

Java 抽象类能不能实例化
抽象类是Java中一种特殊的类,它使用abstract关键字标记,其主要目的是为了定义类的公共接口,而不是创建具体的对象。抽象类可以包含成员变量、成员方法和构造方法,但不能直接通过new关键字实例化,因为它们通常不提供完整实现,而是留给子类去扩展。实例化,简单地说,是为类对象分配内存空间,使其具备运行...

Java 抽象方法和抽象类有什么特点?
抽象类是Java中用于描述一组相似对象的模板。它允许定义一组通用行为和属性,这些行为和属性在具体的对象实现中可以有所不同。例如,Animal 类可以定义所有动物共有的属性和行为(如吃、喝),但具体到Dog 或 Cat 等类时,这些行为的实现细节会有所不同。抽象方法 抽象方法是抽象类中的一个特殊部分,...

java抽象是什么意思?
在计算机编程中,抽象是一个非常重要的概念,可以帮助我们更好的理解代码逻辑和设计各种软件系统。抽象的实现方式一般有两种:类和接口。Java中提供了接口和抽象类两种关键的抽象机制,同时利用面向对象的编程思想实现大规模软件的开发,抽象就是其中的核心概念。Java抽象类和接口的区别 Java中的抽象类和接口...

相似回答