Discussions
Categories
- 385.5K All Categories
- 5.1K Data
- 2.5K Big Data Appliance
- 2.5K Data Science
- 453.4K Databases
- 223.2K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 47 Multilingual Engine
- 606 MySQL Community Space
- 486 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3.2K ORDS, SODA & JSON in the Database
- 584 SQLcl
- 4K SQL Developer Data Modeler
- 188K SQL & PL/SQL
- 21.5K SQL Developer
- 46 Data Integration
- 46 GoldenGate
- 298.4K Development
- 4 Application Development
- 20 Developer Projects
- 166 Programming Languages
- 295K Development Tools
- 150 DevOps
- 3.1K QA/Testing
- 646.7K Java
- 37 Java Learning Subscription
- 37.1K Database Connectivity
- 201 Java Community Process
- 108 Java 25
- 22.2K Java APIs
- 138.3K Java Development Tools
- 165.4K Java EE (Java Enterprise Edition)
- 22 Java Essentials
- 176 Java 8 Questions
- 86K Java Programming
- 82 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 208 Java User Groups
- 25 JavaScript - Nashorn
- Programs
- 666 LiveLabs
- 41 Workshops
- 10.3K Software
- 6.7K Berkeley DB Family
- 3.6K JHeadstart
- 6K Other Languages
- 2.3K Chinese
- 207 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 474 Portuguese
Difference between Multiple Inheritance and Generaliztion

As what i understand, Generalization is also know as Inheritance and Aggregation. They may or may not co-exist in order for a class to work. The subclass and the super class
and on the other hand, multiple inheritance is not allowed in Java, Can anyone please explain to me how these two differs.
Thanks in advance
Answers
-
51dfae5b-b298-49e8-af8f-58ab1c731cc7 wrote: As what i understand, Generalization is also know as Inheritance and Aggregation.
No.
Generalization and Inheritance are almost the same thing viewed from opposite direction. A class inherits behavior and properties from its supper class while a supper class is a generalization to its subclasses which means it provides equal behavior common for all the subclasses. -> Human is a subclass of Mammal and Mammal is a super class of Human and Dog.
Aggregation has nothing to do with either one. It means that an object of on class contains and uses objects of other classes. -> A Car is an aggregation of Engine, Chassis, Transmission, Wheel,...
51dfae5b-b298-49e8-af8f-58ab1c731cc7 wrote: They may or may not co-exist in order for a class to work.
Inherittance/Generalisation and Aggregation are concepts. They cannot "exist" in your program. You can use it or not.
51dfae5b-b298-49e8-af8f-58ab1c731cc7 wrote: The subclass and the super class and on the other hand, multiple inheritance is not allowed in Java, [...]
Multiple inheritance leads to problems: Imagine you have this structure:
class A { void someMethod(){ System.println("in A"); } } class B extends A { void someMethod(){ System.println("in B"); } } class C extends A { void someMethod(){ System.println("in C"); } } class D extends B,C { }
what result do you expect when calling
new D().someMethod();
?
Java solves this by not having multiple inheritance. Despite of this Java allows to implement multiple interfaces. In contrary to multiple inheritance there is no problem when different interfaces declare the same method signature.
bye
TPD
-
thanks