dimanche 7 juin 2015

ja ja schon wieder einer mit einer public static void main(string[] args) Frage...

Sorry, dass ich nerven muss.
Aber ich hangel mich grad durch die oracle tutorials und nachgestellte Übung hat in meinem Hirnkasten folgende Frage generiert: Wieso kann public static void main(string[] args) in der Übung nicht anstelle in der Bicycle2 Klasse in der Bicycle Klasse stehe ohne dass es Fehler beim kompilieren gibt. Ich meine beide klassen haben doch keine return Anweisung und es könnte dem Kompiler doch egal sein wo er einsteigt.

Verflixt!

Code der funktioniert:

Java Code:

  1. class Bicycle {
  2.  
  3.  
  4. int cadence = 0;
  5. int speed = 0;
  6. int gear = 1;
  7.  
  8.  
  9. void changeCadence(int newValue) {
  10. cadence = newValue;
  11. }
  12.  
  13.  
  14. void changeGear(int newValue) {
  15. gear = newValue;
  16. }
  17.  
  18.  
  19. void speedUp(int increment) {
  20. speed = speed + increment;
  21. }
  22.  
  23.  
  24. void applyBrakes(int decrement) {
  25. speed = speed - decrement;
  26. }
  27.  
  28.  
  29. void printStates() {
  30. System.out.println("cadence:" +
  31. cadence + " speed:" +
  32. speed + " gear:" + gear);
  33. }
  34.  
  35.  
  36. }
  37.  
  38. class Bicycle2 { public static void main(String[] args) {
  39. // Create two different
  40. // Bicycle objects
  41. Bicycle bike1 = new Bicycle();
  42. Bicycle bike2 = new Bicycle();
  43.  
  44.  
  45. // Invoke methods on
  46. // those objects
  47. bike1.changeCadence(50);
  48. bike1.speedUp(10);
  49. bike1.changeGear(2);
  50. bike1.printStates();
  51.  
  52.  
  53. bike2.changeCadence(50);
  54. bike2.speedUp(10);
  55. bike2.changeGear(2);
  56. bike2.changeCadence(40);
  57. bike2.speedUp(10);
  58. bike2.changeGear(3);
  59. bike2.printStates();
  60. }}


ja ja schon wieder einer mit einer public static void main(string[] args) Frage...

0 commentaires:

Enregistrer un commentaire