In memory I think it is the same as using a FINAL variable. i.e the Toyota constructor in the previous example, we assigned "Camry" to the modelBrand.
Which meant that for all Toyota objects the modelBrand holds "Camry" characters. In simple terms I think in memory the modelBrand variable for the Toyota class looks like this; final String modelBrand = "Camry"; //final variables do not change value ----- Original Message ----- From: nn roh To: [email protected] Sent: Tuesday, December 22, 2009 4:33 PM Subject: Re: [java programming] real example of polymersim I like the example so much , many thanks :) Yes we can see clearly how the car class can be used as many references. Now i am wondering how these classes with its data represented in the memory ?? i mean parent class and child. Thanks Nada On Wed, Dec 23, 2009 at 12:11 AM, etudient.java <[email protected]> wrote: The past two homeworks are examples of Polymorphism. taking from the JavaPassion page on Polymorphism, "Polymorphism is the ability to appear in many forms." "Subclasses of a class can define their own unique behaviors and yet share some of the same functionality of the parent class." A CAR CAN APPEAR IN MANY FORMS, i.e models (Toyota,GMC,FORM,NISSAN etc). i.e you have a Car class public class Car{ int speed; int numberOfDoors; String modelBrand; String countryOfManufacturer; public Car(int speed,int numberOfDoors,String modelBrand,String countryOfManufacturer){ this.speed = speed; this.numberOfDoors = numberOfDoors; this.modelBrand = modelBrand; this.countryOfManufacturer = countryOfManufacturer; } //getter and setter methods below public String getModelBrand() { return modelBrand; } public void setModelBrand(String modelBrand) { this.modelBrand = modelBrand; } public int getNumberOfDoors() { return numberOfDoors; } public void setNumberOfDoors(int numberOfDoors) { this.numberOfDoors = numberOfDoors; } public int getSpeed() { return speed; } public void setSpeed(int speed) { this.speed = speed; } //WILL PRINT VARIABLE VALUES OF YOUR OBJECT public void print() { System.out.println("The name of your class = " + getClass()); System.out.println("countryOfManufacturer = " + getCountryOfManufacturer()); System.out.println("modelBrand = " + getModelBrand()); System.out.println("numberOfDoors = " + getNumberOfDoors()); System.out.println("speed = " + getSpeed()); } } You can extend the Car class in classes Toyota,GMC,FORM,NISSAN etc. i.e, you have a Toyota class public class Toyota extends Car{ public Toyota(int speed,int numberOfDoors,String modelBrand,String countryOfManufacturer){ super(speed,numberOfDoors,"Camry","Japan");//For all Toyota objects the modelBrand is "Camry", countryOfManufaturer is "Japan" } } Lets now look at the Main class that will instantiate a Toyota object. public class Main{ public static void main(String[] args){ Car toyota1 = new Toyota(200,4,"Yaris","China"); //"Yaris" and "China" will not be assigned to their respective variables toyota1.print(); //will print values of toyota1 variables } } Output; The name of your class = class javaexample.Toyota countryOfManufacturer = Japan modelBrand = Camry numberOfDoors = 4 speed = 200 Why is this important; This is also good for encapsulating your code. See attachment for Files -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/javaprogrammingwithpassion?hl=en -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/javaprogrammingwithpassion?hl=en -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/javaprogrammingwithpassion?hl=en
