2017-09-08 1 views
-1

Gibt es in Java einen Unterschied in der Effizienz zwischen einer öffentlichen oder einer privaten Methode, wenn beide in der gleichen Klasse aufgerufen werden?Effizienz der öffentlichen oder privaten Java-Methode

+3

Es gibt keinen Unterschied. – Michael

+5

Nr. Auffüllen des Kommentars, um es ausreichend lang zu machen. –

+2

Auch wenn dies der Fall ist, bezweifle ich, dass dies das wichtigste Leistungsproblem in Ihrem Code wäre. –

Antwort

2

Nein. Es gibt keinen Unterschied, wenn Sie es in derselben Klasse verwenden, und Sie sehen den einzigen Unterschied beim Zugriff außerhalb der Klasse. Auch hier gibt es keinen Leistungsunterschied. Es ist nur eine Frage des Zugangs zur Methode.

Access level modifiers bestimmen, ob andere Klassen ein bestimmtes Feld verwenden oder eine bestimmte Methode aufrufen können.

sie keine Auswirkungen auf die Leistung (wie von Andy in Kommentaren darauf, es sei denn, Sie verschachtelte Klassen verwenden, und selbst dann, das ist fast vernachlässigbaren Unterschied).

+2

Ich glaube, dass es einen geringen Leistungseinfluss gibt, Methoden in verschachtelten Klassen zu deklarieren und sie von der äußeren Klasse aus aufzurufen, da synthetische Bridge-Methoden generiert werden, damit sie aufgerufen werden können. Dies gilt jedoch nicht in der Situation von OP, wo die Methoden aus derselben Klasse aufgerufen werden. –

+0

@AndyTurner Obwohl das stimmt, glaube ich nicht, dass sie einen beträchtlichen Unterschied erzeugen und OP erwähnt keine verschachtelten Klassen. –

+0

Einverstanden. Ich möchte nur darauf hinweisen, dass es bei Ihrer letzten Aussage eine Einschränkung gibt. –

Verwandte Themen