2016-03-30 13 views
-2

Wie wird die getvolume() Methode verwendet, die von der Box Klasse in der boxweight Klasse definiert ist? Ich weiß, dass ich die Box-Klasse instanziieren muss, um die von ihr definierte Methode zu verwenden, aber wie?Wie verwendet eine Klasse eine Methode, die in Java in einer anderen Klasse definiert ist?

class Box { 
    private int lenght; 
    private int breadth; 
    private int height; 
    int price; 

    Box(int l, int b, int h) { 
     lenght= l; 
     breadth= b; 
     height= h; 
    } 

    public Box(int p) { 
     price= p; 
    } 

    double getvolume() { 
     return lenght*height*breadth; 
    } 

    void setsize(int $l, int $b, int $h ) { 
     lenght= $l; 
     breadth= $b; 
     height= $h; 
    } 
} 

public class boxclassdemo { 
    public static void main(String[] args) { 
     Box mybox1=new Box(10,10,10); 
     Box mybox2=new Box(5,5,5); 
     Box mybox3=new Box(20); 

     System.out.println(mybox1.getvolume()); 
     System.out.println(mybox2.getvolume()); 
     System.out.println(mybox3.price); 
    } 
} 

Die boxweight Klasse:

public class boxweight { 
    int weight; 
    int length,breadth,height; 
    public static void main(String[] args) { 
     boxweight myboxx = new boxweight(); 
     myboxx.weight= 25; 
     myboxx.length=10; 
     myboxx.breadth=20; 
     myboxx.height=30; 
    } 
} 
+0

eine Instanz von Box-Klasse erstellen und verwenden –

+0

müssen Sie ein Objekt der Klasse Box und rufen Sie die Methode an die erste Instanz –

+1

und Sie Java Coding Conventions lernen wollen definieren. Es gibt Regeln zum Benennen von Klassen, Methoden und so weiter; und du scheinst sie nicht zu kennen. Für deine eigentliche Frage: das ist wie super Grundwissen; von der Sorte ... so gut, du solltest andere Leute nicht fragen. Du solltest dich Büchern und Tutorials zuwenden und ** über die Grundlagen von Java lernen; anstatt sich auf andere Leute zu verlassen, um sie Ihnen zu erklären. – GhostCat

Antwort

0

(By the way, ist der erste Buchstabe des Klassennamens in der Regel upcast
Wenn Sie Eclipse oder anderen IDE verwenden, wird es Sie, wenn Sie schaffen helfen. tun, um den Folgeschritt.

Box box = new Box(25, 10, 20, 30);
Dann
System.out.println(box.getvolume());

+0

Bitte nehmen Sie sich die Zeit, um Ihre Antwort besser zu formatieren. Tipp: Vertikaler Abstand (Absätze genannt) erleichtert das Lesen von Text. Dann: Sie können nicht von seinem Code sagen, dass er einen Import benötigt ... – GhostCat

1

Sie die Antwort auf Ihre Frage finden, wie auch in vielen anderen Fragen, die Sie wird zweifellos bald auf Oracle Java Tutorial on Object Creation

As you know, a class provides the blueprint for objects; you create an object from a class. Each of the following statements taken from the CreateObjectDemo program creates an object and assigns it to a variable: 

Point originOne = new Point(23, 94); 
Rectangle rectOne = new Rectangle(originOne, 100, 200); 
Rectangle rectTwo = new Rectangle(50, 100); 

The first line creates an object of the Point class, and the second and third lines each create an object of the Rectangle class. 

Die gleiche diese für tatsächlich mit geht, the very next tutorial:

Code that is outside the object's class must use an object reference or expression, followed by the dot (.) operator, followed by a simple field name, as in: 

objectReference.fieldName 

Ich empfehle Ihnen, entweder diese Tutorials zu lesen oder sich ein gutes Java-Buch zu besorgen. Es gibt viele da draußen.

0

Es sieht so aus, als ob Sie Vererbung verwenden möchten. Wenn Sie BoxWeight wie folgt definieren, beachten Sie die ‚extends Box‘ nach dem Klassennamen:

public class BoxWeight extends Box { 
    int weight; 

    BoxWeight(int l, int b, int h, int w) { 
     super(l, b, h); 
     weight = w; 
    } 
} 

Dann können Sie ein boxweight Objekt behandeln, als ob es sich um ein Objekt Box waren, was bedeutet, dass Sie es Methoden Öffentlichkeit verwenden können, wie so :

public static void main(String[] args) { 
    BoxWeight myboxx = new BoxWeight(10, 20, 30, 25); 
    double volume = myboxx.getvolume(); 
} 
Verwandte Themen