Frage

Welche Zeichen sind gültig in ein Java-Klassennamen? Welche andere Regeln gelten für Java-Klassennamen (zum Beispiel Name Java-Klasse kann nicht mit einer Zahl beginnen)?

War es hilfreich?

Lösung

Sie können fast alle Zeichen, darunter die meisten Unicode-Zeichen! Die genaue Definition ist in der Java Language Specification unter Ziffer 3.8: Identifikatoren

.
  

Eine Kennung ist eine unbegrenzte Länge Folge von Java Buchstaben und Java Ziffern , von denen die ersten ein Java sein muss Schreiben . ...

     

Buchstaben und Ziffern können aus dem gesamten Unicode-Zeichensatz gezogen werden ... Dies ermöglicht es Programmierern, Identifikatoren in ihren Programmen zu verwenden, die in ihrer Muttersprache geschrieben werden.

     

Eine Kennung kann nicht die gleiche Schreibweise (Unicode-Zeichensequenz) als Schlüsselwort (§3.9), boolean literal (§3.10.3) oder die null literal (§3.10.7) oder ein Fehler bei der Kompilierung auftritt .

Allerdings finden Sie unter diese Frage , ob Sie sollten tun.

Andere Tipps

  

Jede Programmiersprache hat ihre eigenen Regeln und Konventionen für die Arten von Namen, die Sie verwenden dürfen, und die Java-Programmiersprache ist nicht anders. Die Regeln und Konventionen für die Benennung von Variablen können wie folgt zusammengefasst werden:

     
      
  • Variablennamen sind case-sensitive. Der Name eine Variable kann jedes Recht Bezeichner sein - eine unbegrenzte Länge Folge von Unicode-Buchstaben und Ziffern, mit einem Buchstaben beginnen, das Dollarzeichen „$“ oder der Unterstrich „_“. Die Konvention ist jedoch immer Ihre Variablennamen mit einem Buchstaben zu beginnen, nicht „$“ oder „_“. Darüber hinaus wird das Dollarzeichen, durch Konvention, überhaupt nicht verwendet. Sie können einige Situationen, in denen automatisch generierten Namen das Dollarzeichen enthalten, aber Ihre Variablennamen sollten mit immer vermeiden. Eine ähnliche Konvention besteht für den Unterstrich; während es technisch legal ist Ihre Variablennamen mit „_“ zu beginnen, wird diese Praxis abgeraten. Weißraum ist nicht gestattet.

  •   
  • Nachfolgende Zeichen können Buchstaben, Ziffern, Dollar-Zeichen oder Unterstreichungszeichen sein. Konventionen (und gesunder Menschenverstand) gelten auch für diese Regel. Wenn Sie einen Namen für Ihre Variablen wählen, verwenden Sie ganze Wörter statt kryptischen Abkürzungen. Dadurch wird der Code leichter zu lesen und verstehen machen. In vielen Fällen wird es auch Ihren Code selbsterklärend machen; Felder mit dem Namen Kadenz, Geschwindigkeit und Gang, zum Beispiel sind viel intuitiver als abgekürzte Versionen, wie s, c und g. Denken Sie auch daran, dass der von Ihnen gewählte Name darf kein Schlüsselwort oder reserviertes Wort sein.

  •   
  • Wenn der Name, den Sie besteht nur aus einem Wort wählen, buchstabieren das Wort in Kleinbuchstaben. Wenn es von mehr als einem Wort besteht, den ersten Buchstaben jedes nachfolgenden Wort Kapital zu schlagen. Die Namen GearRatio und currentGear sind Paradebeispiele für diese Konvention. Wenn Ihre Variable speichert einen konstanten Wert, wie static final int NUM_GEARS = 6, ändert sich die Konvention leicht, jeden Brief und Trennen nachfolgenden Worte mit dem Unterstrich Kapital. Vereinbarungsgemäß wird der Unterstrich nie an anderer Stelle verwendet.

  •   

das offizielle Java Tutorial .

Weitere zum vorherige Antwort zu seinem bemerkenswert, dass:

  1. Java ermöglicht es jedem Unicode-Währungssymbol in Symbolnamen, so dass die folgenden werden alle Arbeiten:
  

$ var1   £ var2   € var3

Ich glaube, dass die Verwendung von Währungssymbolen in C / C ++ stammt, wo Variablen, um Ihren Code durch den Compiler konventionell begannen mit ‚$‘ hinzugefügt. Ein offensichtliches Beispiel in Java ist der Name von‘.class' Dateien für innere Klassen, die vereinbarungsgemäß das Format‚Outer $ Inner.class‘hat

  1. Viele C # und C ++ Programmierer die Konvention, derzufolge verabschieden ‚I‘ vor Schnittstellen (auch bekannt als rein virtuelle Klassen in C ++). Dies ist nicht erforderlich, und somit nicht getan, in Java, weil das Schlüsselwort implements macht es sehr klar, wenn etwas ist eine Schnittstelle.

vergleichen:

  

class Employee: public IPayable // C ++

mit

  

class Employee: IPayable // C #

und

  

class Employee implementiert Kreditoren // Java

  1. verwenden Viele Projekte der Konvention einen Unterstrich vor der Feldnamen zu platzieren, so dass sie leicht von lokalen Variablen und Parameter z unterschieden werden können.
  

private Doppel _salary;

Eine winzige Minderheit Ort, um den Unterstrich nach dem Feldnamen z.

  

private Doppel Gehalt _;

Wie bereits von Jason Cohen erwähnt, definiert die Java-Sprachspezifikation, was ein Recht Bezeichner ist in Abschnitt 3.8:

"Ein Bezeichner ist eine unbegrenzte Länge Sequenz von Java Buchstaben und Ziffern Java, die erste davon muss ein Java Brief sein. [...] Ein ‚Java Brief‘ ist ein Zeichen für die das Verfahren Character.isJavaIdentifierStart (int) true zurückgibt. A 'Java Brief-oder-Ziffer' ist ein Zeichen für das die Methode Character.isJavaIdentifierPart (int) liefert true. "

Diese hoffentlich beantwortet Ihre zweite Frage. In Bezug auf Ihre erste Frage; Ich habe sowohl von Lehrern unterrichtet und (soweit ich mich erinnern kann) Java-Compiler, die ein Java-Klassenname ein Bezeichner sein sollte, die A-Z mit einem Großbuchstaben beginnt, aber ich kann keine zuverlässige Quelle auf diese findet. Wenn es versucht, mit OpenJDK gibt keine Warnungen, wenn sie mit Kleinbuchstaben Klassennamen beginnen oder sogar ein $ -Zeichen. Wenn ein $ -Zeichen verwenden, müssen Sie es entkommen, wenn Sie von einem Bash-Shell kompilieren, aber.

Ich möchte Bosnic Antwort hinzufügen, dass jede gültige Währung Zeichen für einen Bezeichner in Java legal ist. th € ist ein Recht Kennung, als € ist dies, und auch €. Aber ich kann nicht herausfinden, wie seine Antwort zu bearbeiten, so dass ich gezwungen bin, diese trivialen zusätzlich zu posten.

  

Was andere Regeln Java-Klassennamen regeln (zB Namen Java-Klasse können nicht mit einer Zahl beginnen)?

  • Java-Klassennamen in der Regel mit einem Großbuchstaben beginnen.
  • Java-Klassennamen können nicht mit einer Zahl beginnen.
  • , wenn es mehrere Wörter in dem Klassennamen wie „MyClassName“ jedes Wort sind, sollten mit einem Großbuchstaben beginnen. EG- "MyClassName" .Diese Namenskonvention basiert auf Camelcase Typ.

Klassennamen sollten Substantive in Uppercamelcase, mit dem ersten Buchstaben jedes Wortes groß geschrieben werden. Verwenden Sie ganze Wörter - vermeiden Akronyme und Abkürzungen (es sei denn, die Abkürzung viel mehr ist weit verbreitet als die lange Form, wie URL oder HTML). Die Namenskonventionen hier lesen über werden können:

http://www.oracle.com/technetwork/java/codeconventions- 135099.html

Bezeichner für Klassennamen, Methodennamen und Variablennamen verwendet. Eine identifiermay jede beschreibende Folge von Groß- und Kleinbuchstaben, Zahlen oder theunderscore und Dollar-Zeichen-Zeichen. Sie dürfen nicht mit einer Zahl beginnen, damit sie nicht mit Zahlenliteral beconfused. Auch hier ist Java case-sensitive, so VALUE ist ein differentidentifier als Wert. Einige Beispiele für gültige Bezeichner sind:

AvgTemp, Graf a4, $ test, this_is_ok

Ungültige Variablennamen sind:

2count, Hochtemperatur, Nicht / ok

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top