why is multiple inheritance not allowed in java?
Answers were Sorted based on User's Feedback
Answer / mahesh yadav ch
when ever a class extending more then one class. if f1()
method is present all exteding ... when we call f1()
method...jvm will confused which class method is called this
lead to ambuity error.....
java does'nt support multiple inheritance.......
Is This Answer Correct ? | 19 Yes | 3 No |
Answer / haridini
Suppose if u inherit from multiple classes and in these
classes a method of same name exists then the class which
inherits from these classes gets confused that which one to
inherit. And this is also because of reducing complexity.
And above all u will get the multiple inheritance concept
in java through interfaced.
Is This Answer Correct ? | 18 Yes | 6 No |
Answer / shahnawaz akhtar
bcoz of memory loss problem sun has not provide multiple
inheritance concept multiple inheritance is not achived in
java through class but we can achieve it by interface bcoz
interface only allow final static variable and abstract
method ,due to static variable it allocates memory only one
time so less memory is loss thats why sun has not provide
multiple inheritance concept through class
Is This Answer Correct ? | 10 Yes | 2 No |
Answer / ganesh
When the multiple inheritance is allowed, means when a language allows the class to extend multiple classes, That leads to the ambiguity as to which class method to consider, when two of its parents have the same method signature. This is called Diamond ring problem
Is This Answer Correct ? | 9 Yes | 2 No |
Answer / sikinder
Whenever one Sub Class Extends more than one classes, at
the time of creating that class object, JVM gets confused
to call the parent class constructor as well as methods.
To avoid this ambuiguity, java doesn't support multiple
inheritance
Is This Answer Correct ? | 6 Yes | 0 No |
Answer / b.raja
pointers concept are not supported by java.and to reduce
the code redundency
Is This Answer Correct ? | 7 Yes | 16 No |
Answer / ravikiran
because we cann't extend more than one class in java
Is This Answer Correct ? | 5 Yes | 16 No |
How do you read and print a string in java?
To set the position and size of a component, which methods are used?
Can we declare a class as abstract without having any abstract method?
What is an interface in java?
What is the difference between the final method and abstract method?
Question 5 [15] Consider the following classes, illustrating the Strategy design pattern: import java.awt.*; abstract class Text { protected TextApplet tA; protected Text(TextApplet tApplet) { tA = tApplet; } abstract public void draw(Graphics g); } class PlainText extends Text { protected PlainText(TextApplet tApplet) { super(tApplet); } public void draw(Graphics g) { g.setColor(tA.getColor()); g.setFont(new Font("Sans-serif", Font.PLAIN, 12)); g.drawString(tA.getText(), 20, 20); } } class CodeText extends Text { protected CodeText(TextApplet tApplet) { super(tApplet); } public void draw(Graphics g) { g.setColor(tA.getColor()); g.setFont(new Font("Monospaced", Font.PLAIN, 12)); g.drawString(tA.getText(), 20, 20); } } public class TextApplet extends java.applet.Applet { protected Text text; protected String textVal; protected Color color; public String getText() { return textVal; } public Color getColor() { return color; } public void init() { textVal = getParameter("text"); String textStyle = getParameter("style"); String textColor = getParameter("color"); if (textStyle == "code") text = new CodeText(this); else text = new PlainText(this); if (textColor == "red") color = Color.RED; else if (textColor == "blue") color = Color.BLUE; else color = Color.BLACK; } public void paint(Graphics g) { text.draw(g); 10 } } The Text class is more complicated than it should be (there is too much coupling between the Text and TextApplet classes). By getting rid of the reference to a TextApplet object in the Text class and setting the colour in the paint() method, one could turn the Text class into an interface and simplify the strategy classes considerably. 5.1 Rewrite the Text and PlainText classes to do what is described above. (6) 5.2 Explain the consequent changes that are necessary to the TextApplet class. (4) 5.3 Write an additional strategy class called FancyText (to go with your simplified strategy classes) to allow fancy text to be displayed for the value "fancy" provided for the style parameter. It should use the font Font ("Serif", Font.ITALIC, 12). (3) 5.4 Explain what changes are necessary to the TextApplet class for this. (2)
Is void a data type in java?
What is the difference between the size and capacity of a vector?
Is null an object java?
hoe can u call a constructor of a private classs to other inherited claa??
what is the purpose of class "Object" which is base class for all classes?
what are the methods in object?