――Aus "wann zu verwenden"
Dies ist die einfachste Form Java verfügt über einen robusten Modifikator für die Hauptmethode, der den Einstieg erschwert.
Calculator.java
package jbasic;
public class Calculator {
int add(int number1, int number2) {
int result = number1 + number2;
return result;
}
}
Eine Instanz der Klasse, in die die Methode geschrieben wurde, wurde erstellt | Die Klasse, in die die Methode geschrieben wurde, wurde nicht instanziiert | |
---|---|---|
Gleiches Paket | ○ | × |
Paket ist anders | × | × |
Seller.java
package jbasic; //Gleiches Paket
public class Seller {
public static void main(String[] args) {
Calculator calc = new Calculator(); //Instanzgenerierung
System.out.println(calc.add(10,5)); //OK!
}
}
Seller2.java
package jbasic; //Gleiches Paket
public class Seller2 {
public static void main(String[] args) {
//Keine Instanziierung
System.out.println(Calculator.add(10,5)); //Werden Sie wütend, wenn Sie nicht statisch auf nicht statische Methoden verweisen
}
}
Damit können Sie die Methode treffen, ohne sie zu instanziieren.
Calculator.java
package jbasic;
public class Calculator {
static int add(int number1, int number2) {
int result = number1 + number2;
return result;
}
}
Eine Instanz der Klasse, in die die Methode geschrieben wurde, wurde erstellt | Die Klasse, in die die Methode geschrieben wurde, wurde nicht instanziiert | |
---|---|---|
Gleiches Paket | ○ | ○ |
Paket ist anders | × | × |
Seller2.java
package jbasic; //Gleiches Paket
public class Seller2 {
public static void main(String[] args) {
//Keine Instanziierung
System.out.println(Calculator.add(10,5)); //OK!
}
}
Robot.java
package jmaster; //Anderes Paket
public class Robot {
public static void main(String[] args) {
System.out.println(Calculator.add(10,5)); //Wütend werden, um die Klasse öffentlich zu machen
}
}
Wenn Sie public hinzufügen, können Sie die Methode aus der Klasse anderer Pakete verwenden.
Calculator.java
package jbasic;
public class Calculator {
public static int add(int number1, int number2) {
int result = number1 + number2;
return result;
}
}
Eine Instanz der Klasse, in die die Methode geschrieben wurde, wurde erstellt | Die Klasse, in die die Methode geschrieben wurde, wurde nicht instanziiert | |
---|---|---|
Gleiches Paket | ○ | ○ |
Paket ist anders | ○ | ○ |
Robot.java
package jmaster; //Anderes Paket
import jbasic.Calculator; //Klassenimport erforderlich
public class Robot {
public static void main(String[] args) {
System.out.println(Calculator.add(10,5)); //OK!
}
}
--Static-Methode kann kein Instanzfeld verwenden ――Wenn es öffentlich ist, kann es seltsam verwendet werden und es kann ein Problem sein (ich verstehe, dass ich die tatsächlichen schädlichen Auswirkungen nicht verstehe)
Recommended Posts