Vérifier le comportement statique et public dans les méthodes Java

Contexte

-Est-ce que la classe elle-même l'a? Plage de divulgation?

Mise en garde

――A part "quand utiliser" --Toutes les classes sont fixées comme publiques --Divers

Juste une méthode

C'est la forme la plus simple Java a un modificateur robuste sur la méthode principale, ce qui rend difficile le démarrage.

Calculator.java


package jbasic;

public class Calculator {
	 int add(int number1, int number2) {
		int result = number1 + number2;
		return result;
	}
}

Moment où une seule méthode peut être utilisée

Une instance de la classe dans laquelle la méthode est écrite a été créée La classe dans laquelle la méthode est écrite n'a pas été instanciée
Même paquet ×
Le paquet est différent × ×

Seller.java


package jbasic; //Même paquet

public class Seller {
	public static void main(String[] args) {
		Calculator calc = new Calculator();  //Génération d'instance
		System.out.println(calc.add(10,5));  //OK!
	}
}

Seller2.java


package jbasic; //Même paquet

public class Seller2 {
	public static void main(String[] args) {
        //Pas d'instanciation
	    System.out.println(Calculator.add(10,5));  //Se fâcher de ne pas référencer statiquement des méthodes non statiques
	}
}

méthode statique

Avec cela, vous pouvez frapper la méthode sans l'instancier.

Calculator.java


package jbasic;

public class Calculator {
	 static int add(int number1, int number2) {
		int result = number1 + number2;
		return result;
	}
}

Moment auquel des méthodes statiques peuvent être utilisées

Une instance de la classe dans laquelle la méthode est écrite a été créée La classe dans laquelle la méthode est écrite n'a pas été instanciée
Même paquet
Le paquet est différent × ×

Seller2.java


package jbasic; //Même paquet

public class Seller2 {
	public static void main(String[] args) {
        //Pas d'instanciation
		System.out.println(Calculator.add(10,5));  //OK!
	}
}

Robot.java


package jmaster; //Paquet différent

public class Robot {
	public static void main(String[] args) {
		System.out.println(Calculator.add(10,5));  //Mettez-vous en colère pour rendre la classe publique
	}
}

méthode statique publique

Si vous ajoutez public, vous pouvez utiliser la méthode de la classe des autres packages.

Calculator.java


package jbasic;

public class Calculator {
	 public static int add(int number1, int number2) {
		int result = number1 + number2;
		return result;
	}
}

Quand la méthode statique publique peut être utilisée

Une instance de la classe dans laquelle la méthode est écrite a été créée La classe dans laquelle la méthode est écrite n'a pas été instanciée
Même paquet
Le paquet est différent

Robot.java


package jmaster; //Paquet différent

import jbasic.Calculator; //Importation de classe requise

public class Robot {
	public static void main(String[] args) {
		System.out.println(Calculator.add(10,5));  //OK!
	}
}

N'est-ce pas tout public statique?

Recommended Posts

Vérifier le comportement statique et public dans les méthodes Java
À propos des méthodes Java statiques et non statiques
Définir des méthodes abstraites dans l'énumération Java et écrire leur comportement
[Java] Différence entre statique final et final dans les variables membres
[Java] Zone de pile et zone statique
[Java] Classe générique et méthode générique
Vérifiez la connexion https avec Java
Méthodes Java et surcharges de méthodes
Méthodes et classes abstraites Java
Méthodes statiques simulées dans Mockito 3.4
Vérifiez le comportement de getOne, findById et des méthodes de requête avec Spring Boot + Spring Data JPA
Pensez aux différences entre les fonctions et les méthodes (en Java)
Exemple d'encodage et de décodage en Java
Classe StringBuffer et StringBuilder en Java
Vérifier les paramètres Java dans les pods Kubernetes
Etudier Java 8 (méthode StaticIF et Default)
Comprendre equals et hashCode en Java
Java Generics (définit les classes et les méthodes)
Bonjour tout le monde en Java et Gradle
Différence entre final et immuable en Java
Java statique
Modificateur final et modificateur statique de l'historique d'apprentissage JAVA
Programmation Java (classes et instances, méthodes principales)
Méthodes Java
Comparaison des méthodes d'implémentation de thread en Java et de la méthode d'expression lambda
Cours et méthodes abstraits d'histoire d'apprentissage JAVA
Programmation Java (clause statique et "variables de classe")
Différence entre les listes d'arry et les listes liées en Java
Programmer les en-têtes et pieds de page PDF en Java
Apprenez les modèles Flyweight et ConcurrentHashMap en Java
La direction de Java dans "C ++ Design and Evolution"
De Java à C et de C à Java dans Android Studio
Lire et écrire des fichiers gzip en Java
Différence entre int et Integer en Java
Discrimination d'énum dans Java 7 et supérieur
Détecter des vidéos similaires dans Java et OpenCV rev.2
[Java] Résumé personnel des classes et méthodes (basique)
Traitement parallèle et parallèle dans divers langages (édition Java)
Différence entre next () et nextLine () dans Java Scanner
[Swift vs Java] Comprenons le statique et le final
Différences dans l'écriture des classes Java, C # et Javascript
Capture et sauvegarde de l'installation de sélénium en Java
Détecter des vidéos similaires dans Java et OpenCV rev.3
[Java] Comprenez en 10 minutes! Tableau associatif et HashMap
Distinguer les nombres positifs et négatifs en Java
Java ajoute et supprime les filigranes dans les documents Word
Détecter des vidéos similaires dans Java et OpenCV rev.1
Représente le «jour suivant» et le «jour précédent» en Java / Android
Questions sur la gestion des exceptions Java throw et try-catch
Télécharger et télécharger des notes en java sur S3
Crypter / décrypter avec AES256 en PHP et Java
Générer OffsetDateTime à partir de Clock et LocalDateTime en Java
Comment accéder aux méthodes et champs Java Private
Méthodes de classe Java
Histoire statique Java
Partition en Java
Vérification de la version Java