0% found this document useful (0 votes)
51 views3 pages

Object-Oriented Programming Concepts

This document discusses object-oriented programming concepts like encapsulation, composition, and immutable objects. It provides examples of correctly and incorrectly using wrapper classes like Integer and Double. The key points are: 1) Objects should not expose references to mutable fields to preserve encapsulation. 2) Composition models "has-a" relationships where one object contains another. 3) Wrapper classes like Integer and Double can be used to convert between primitives and objects.

Uploaded by

chiraggupta628
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views3 pages

Object-Oriented Programming Concepts

This document discusses object-oriented programming concepts like encapsulation, composition, and immutable objects. It provides examples of correctly and incorrectly using wrapper classes like Integer and Double. The key points are: 1) Objects should not expose references to mutable fields to preserve encapsulation. 2) Composition models "has-a" relationships where one object contains another. 3) Wrapper classes like Integer and Double can be used to convert between primitives and objects.

Uploaded by

chiraggupta628
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 3

Chapter 10 Thinking in Objects

1. No. It must also contain no get methods that would return


a reference to a mutable data field object.

2. Yes.

3. No, because values is a reference type.

4. i + j is 23 (because i (value of 2) is concatenated


with string j + j is, then j (value of 3) is concatenated
with string i + j is 2.)
k is 2
j is 0

5. this refers to the object itself

6.

Swap line 5 with line 6

Lines 10, 14, should be this.p = p;

7. Test.id = 45; This is wrong, since id is an instance


member and cannot be accessed from a class.

8. No. The Loan class has the getLoanDate() method that


returns loanDate. loanDate is an object of the Date class.
Since Date is mutable, the contents of loanDate can be
changed. So, the Loan class is not immutable.

9. Yes.

10.

Aggregation models has-a relationships and represents an


ownership relationship between two objects.

11.

An object can contain another object. The relationship


between the two is called composition.
12.

The Math class defines a private no-arg constructor to


prevent the user from creating objects for this class. Since
all methods are static in this class, there is no need to
create objects from this class.

13.

See Section 10.11

14. See the section "Processing Primitive Type Values as


Objects."

15.
Integer i = new Integer("23");
Answer: Correct

Integer i = new Integer(23);


Answer: Correct

Integer i = Integer.valueOf("23");
Answer: Correct

Integer i = Integer.parseInt("23",8);
Answer: Incorrect

Double d = new Double();


Answer: Incorrect, no default constructor in Double

Double d = Double.valueOf("23.45");
Answer: Correct

int i = (Integer.valueOf("23")).intValue();
Answer: Correct

double d = (Double.valueOf("23.4")).doubleValue();
Answer: Correct

int i = (Double.valueOf("23.4")).intValue();
Answer: Correct

String s = (Double.valueOf("23.4")).toString();
Answer: Correct
16. Use new Integer(int).toString() to convert an integer to
a string. Use new Double(double).toString() to convert a
double to a string.

17.
3
-1

18.
10
10
16
11
11
17
19.
Integer x = 8; // Correct, this is same as x = new Integer(3 + 5)
Integer x = 3; // Correct
Double x = 3; // Wrong, this is same as Double x = new Integer(3)
Double x = 3.0; // Correct

int x = new Integer(3); // Correct


int x = new Integer(3) + new Integer(4); // Correct

20.
3
-1

21.The output is 3. Please note that BigInteger and


BigDecimal are immutable.

You might also like