What is subclassing?

codenamejupiterx picture codenamejupiterx · Feb 22, 2011 · Viewed 15.8k times · Source

I am new to java and I am trying to create an XML document and clone a specific node (minus the textnode) of this document over and over again. Someone answered me and said that I should subclass the node and override the cloning. So my question is what is sub-classing?

Answer

Charlie Martin picture Charlie Martin · Feb 22, 2011

Subclassing means to define a new class that has the properties of an old class (the "superclass") with some changes.

In this case, your original responder is saying something like this:

Say you have a base class Base which has a method getTwo like so:

class Base {
   public int getTwo(){ return 2;}
}

You decide you want a new class that still have a method getTwo but that returns the string "two" instead of the number 2. You could define it as

class Subclass extends Base {
   public String getTwo() { return "two"; }
}

We say Subclass is a subclass of -- or more commonly, "is a kind of" -- Base.

Beyond that, you'd be best off to read a book on object-oriented programming with Java. I'm fond of Thinking in Java, which has the added advantage that it's available freely on line.