# Wie kann ich auf Methoden von anderen Klassen zugreifen?



## huskyx (24. Mai 2008)

Hi Leute,
ich hab da ein Problem und zwar soll ich ein Programm schreiben, was den Durchmesser , Umfang etc, ausgiebt, wenn man den Radius eingibt.

Das ist meine Main:

```
import java.io.IOException;

public class KugelRechnerMain {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub

		System.out.println("Wenn Sie eine Kugel berechnen möchten, geben sie bitte den Radius in Milimeter ein");
		Kugel neueKugel = new Kugel(MeineEingabe.erfasseDouble());


		System.out.println(neueKugel.getdurchmesser());

	}


}
```

Dann die Kugel


```
import java.lang.Math;

public class Kugel {

	private double radius;

	public Kugel(double erfassterradius) {
		radius = erfassterradius;

	}
			public double getdurchmesser(){
				return radius * 2;
			}

			public double getumfang(){
				return radius * 2 * Math.PI;
			}

			public double getvolumen(){
				return (4/3) * Math.PI * Math.pow(radius,3);
			}

			public double getoberflaeche(){
				return 4 * Math.PI * Math.pow(radius,2);
			}


}
```

und zu letzt die Klasse um die Einheiten umzurechnen


```
public class MaßeinheitenUmrechner {

	private double radius;




	public double getRadiusCm(){
		return radius /10 ;
	}
	public double getRadiusM(){
		return radius /1000 ;
	}
	public double getRadiusKm(){
		return radius /1000000 ;
	}
		public double getDurchmesserMm(double Kugel.getdurchmesser()){
		return Kugel.getdurchmesser()  /10 ;
	}
	public double getDurchmesserCm(){
		return radius /10 ;
	}
	public double getDurchmesserM(){
		return radius /1000 ;
	}
	public double getDurchmesserKm(){
		return radius /1000000 ;
	}

}
```
Das problem ist, dass ich auf die Returnwerte in der "Kugel" nicht zugreifen kann und auch keine Ahnung habe, wie ich das realisieren soll.
Vielen Dank schon mal für eure Hilfe


----------



## javasimon (24. Mai 2008)

na das kann so ja nicht funktionieren! woher weiss denn dein umrechner was für einen wert er umrechnen soll? mach die methoden doch static und übergib ihnen den wert, den sie umrechnen sollen.

```
public static double getRadiusCm(double radiusM){
      return radius /10 ;
}
```
danach einfach am gewünschten ort aufrufen

```
System.out.println("D in cm: " +MaßeinheitenUmrechner.getRadiusCm(neueKugel.getdurchmesser()));
```
falls du es lieber ohne static haben möchtst:

```
public double getRadiusCm(double radiusM){
      return radius /10 ;
}
...
MaßeinheitenUmrechner mu = new MaßeinheitenUmrechner();
System.out.println("D in cm: " +mu.getRadiusCm(neueKugel.getdurchmesser()));
```
auf jeden fall solltest du aber auch noch ein wenig theorie zur objekt-orientierung lesen!

gruss


----------

