Hi buddy, well i got that there is always a default
constructor with abstract class. OK. But why not with interface?
Thanks in advance.
Answers were Sorted based on User's Feedback
Answer / harsha
Just a samll correction... Interfaces are part of
inheritance tree.
Inheritance is identified by both extends and implements
keywords.
Regarding the default constructor.. All the classes which
extend Object class will have a default constructor.
As we all know any interface cant extend Object class..
Interface cannot have default constructor.
| Is This Answer Correct ? | 4 Yes | 0 No |
Answer / madhu
yes it is bcz interfaces are not part of the inheritance tree.
after all u can define a contract between 2 different parties
using interfaces nothing more u can expect. its not actually
an executable construct
| Is This Answer Correct ? | 2 Yes | 0 No |
Why should we use java?
can abstract class have constructor how can you achive this ?
what is default layout of JFrame class?
what is inner class?
What is basic syntax?
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)
Hi Friends, can u give code to convert ArrayList to HashMap and HashMap to ArrayList.
What is the multi-catch block in java?
difference between jsp and java script?
How is Garbage collection done in Java?
Can we execute a program without main?
Can you explain the usages of class.forname()?