Why Java is not purely object oriented?
Answer Posted / babu
Although Java is object-oriented to a great extent, it is
not a pure object-oriented language. One of the reasons
Java is not purely object-oriented is that not everything
in it is an object. For example, Java allows you to declare
variables of primitive types (int, float, boolean, etc.)
that aren't objects. And Java has static fields and
methods, which are independent and separate from objects
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
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)
Why vector class is used?
Can we have more than one package statement in the source file?
Can we have try without catch block?
What are the two ways of implementing multi-threading in java?
design an lru cache in java?
Can we force garbage collector to run ?
I have multiple constructors defined in a class. Is it possible to call a constructor from another constructor’s body?
Does list maintain insertion order java?
What is percentage in java?
Does constructor creates the object ?
What is the purpose of void class?
What are keyboard events?
What is the method overriding?
What is a method vs function?