Questions
Question 1: What methods would a class that implements thejava.lang.CharSequence
interface have to implement?
Answer 1:charAt
,length
,subSequence
, andtoString
.Question 2: What is wrong with the following interface?
Answer 2: It has a method implementation in it. It should just have a declaration.public interface SomethingIsWrong { void aMethod(int aValue) { System.out.println("Hi Mom"); } }Question 3: Fix the interface in Question 2.
Answer 3:public interface SomethingIsWrong { void aMethod(int aValue); }Question 4: Is the following interface valid?
Answer 4: Yes. Methods are not required. Empty interfaces can be used as types and to mark classes without requiring any particular method implementations. For an example of a useful empty interface, seepublic interface Marker { }java.io.Serializable.
Exercises
Exercise 1: Write a class that implements theCharSequence
interface found in thejava.lang
package. Your implementation should return the string backwards. Select one of the sentences from this book to use as the data. Write a smallmain
method to test your class; make sure to call all four methods.
Answer 1: SeeCharSequenceDemo.java
Exercise 2: Suppose that you have written a time server, which periodically notifies its clients of the current date and time. Write an interface that the server could use to enforce a particular protocol on its clients.
Answer 2: SeeTimeClient.java