Vill du returnera en viss datatyp eller vill du kunna returnera vilken datatyp som helst??
I det första fallet så är det enkelt. Då deklarerar du bara attributet i klassen som private och i metodanropet så skriver du vilken typ som returneras. Såhär:
public class Type
{
private int attribute = 0;
public int getAttribute()
{
return attribute;
}
}
Om du däremot inte vet vilken typ som skall returneras så blir det knepigare. Då måste du börja använda dig av Generic.
Har gjort en väääldigt enkel liten klass och en testklass som du kan kika på. Generic typing i java är koolt...
GType.java
public class GType<E>
{
private E attribute;
public GType(E attribute)
{
this.attribute = attribute;
}
public E getAttribute()
{
return attribute;
}
}
TestGType.java
public class TestGType
{
/**
* @param args
*/
public static void main(String[] args)
{
GType<String> stringType = new GType<String>("StringGType");
GType<Integer> intType = new GType<Integer>(new Integer(42));
System.out.println(stringType.getAttribute());
System.out.println("stringType returned an attribute of type " + stringType.getAttribute().getClass());
System.out.println(intType.getAttribute());
System.out.println("intType returned an attribute of type " + intType.getAttribute().getClass());
}
}