Android Programjaim

Android, Flutter/Dart, Kotlin, Java, Unity, HarmonyOS

Java standards

2012. december 18. 12:19 - lacas8282

Sun-os ajanlasok

  • Osztalyok es interfeszek (Classes and interfaces)

Az elso betu nagybetu. Aztan a belszo szavak elso betuje nagybetu. Ezt neha hivjak  "camelCase" formanak is. Pl.: PrintWriter Osztalyoknal a nevek altalaban fonevek. Pl.: Account

Interfeszeknel altalaban mellekneveket hasznalunk. Pl.: Runnable

  • Metodusok (Methods)

Elso betu kisbetu, aztan a camelCase forma hasznalhato. A nevek altalaban ige-fonev parosok. Pl.: getAccount

  • Valtozok (Variables)

Mint a metodusoknal, camelCase forma. Ugyan ugy kisbetuvel kezdunk. A Sun rovid, ertheto valtozoneveket javasol. Pl.: accountBalance

  • Konstansok (Constants)

A konstansok olyan valtozok, amik static final-kent vannak jelolve. Nagybetuvel irjuk oket, tobb szo eseten alahuzassal elvalasztva. Pl.: MAX_HEIGHT

 

JavaBeans Standards

Ha a valtozo nem boolean, akkor a lekerdezo metodus prefixje 'get'. Pl.: getSize() a size valtozo lekerdezese. A metodusnak public -nak kell lennie, nem lehet arhumentuma, s a visszaadott ertek tipusa meg kell egyezzen a valtozoeval.

Ha a valtozo boolean, akkor a 'get' s az 'is' is alkalmas prefix Pl.: getStopped() vagy isStopped(). Azert szerintem az 'is' gyakoribban hasznalt...

Beallito metodus prefix: 'set' . Pl.: setSize(int size) a size-hoz. A metodusnak public void-nak kell lennie. S az argumentumnak reprezentalnia kell a valtozo tipusat.

Mint latjuk a valtozo elso betuje nagybetus lesz.

Listener-eknel a regisztrallas 'add' prefix-szel van Pl.: addActionListener(),

az eltavoltias 'remove', s a metodusnak 'Listener' szora kell vegzodnie.

Forras file deklaralasi szabajok (Source File Declaration Rules)

Roviden :) : Egy darab public -os osztaly lehet egy forras fileban. Ennek neve meg kell egyezzen a forras file nevevel. Pl.: class Dog {} -> Dog.java

Package - nak ha van, az elso sorban kell lennie.

Import - nak a package s az osztaly deklaracio kozott kell lennie.

Meg van itt egy par dolog, de szerintem ezek egyertemuek (voltak mar eddig is).

 

Nehany szo az osztaly modositokrol (Access, visibility)

  • Default Access

Ha nem all modosito pl az osztaly elott, akkor az default access. Ezt csomag szintu modositonak nevezzuk (package-level access), mivel az osztaly valtozoi, metodusai csak a csomagon belul lathatok.

  • Public Access

Public szo szerepel, mint modosito. Mindeki szamara elerheto. De fontos, hogy ha masik csomagbol akarod hasznalni, akkor importalni kell.

 

Van nehany ugynevezett nonaccess (other) tipusu osztaly modosito. Ezek a final, abstract es a strctfp. Nehany megjegyzes ezekhez is.

Final es abstract soha nem szerepelhet egyutt.

A strctfp kulcsszot csak osztaly s metodus elott lehet hasznalni, valtozo elott sosem. Ha egy osztaly ilyen modositot kap, az azt jelenti, hogy a benne szereplo osszes metodus megfelel a IEEE 754 lebego pontos standard szabvanynak. Lenyeg kb, hogy e nelkul a lebegopontos abrazolas platform fuggo lenne. Ha nem akarod az egesz osztalyt igy hasznalni, akkor metodus ele is teheted... Oszinten szolva en meg eletemben nem hasznaltam sehogy, nem is hiszem, hogy tul gyakori, de modjuk egy felvetelin rakerdezhetnek :)

  • Final Classes

Ha a final kulcsszo szerepel az osztaly elott, akkor azt nem lehet szarmaztatni, azaz nem lehet egy uj osztalyt letrehozni. ( extend (ez az osztaly)). / class can't be subclassed/ Ez arra jo, hogy az osztaly funkcioit tuti ne tegye tonkre senki, garantalt mukodest kapj. Pl.: ilyen a String osztaly.

  • Abstract Classes

Abstarct osztalyt (kulcsszo: abstarct) nem lehet peldanyositani, azaz extendalni kell. Ha az osztaly tartalmaz legalabb egy absztart metodust, akkor maga az osztaly is abstract. Az abstact metodus utan ';' (pontosvesszo, semicolon) szerepel. Pl.:

abstarct class Car {

     public abstact void goFast();

}

 

Interface deklaralas (Declaring an Interface)

 Ha interface -t deklaralsz, akkor tulajdonkeppen megmodod, hogy mit tud csinali, anelkul, hogy megmondanad, hogy hogyan. Az interface 100 %-ban abstract osztaly, ez jar egy ket kovetkezmennyel.

  • minden metodus az interface -ben abstract es public. Ezeket a modositokat nem is kell kitenni, de ki is lehet.
  • minden valtozo alapbol public, static es final, azaz konstans. (not instance variable)
  • interface metodusa nem lehet static
  • mivel a metodus abstact, ezert nem lehet final, strinctfp vagy native
komment
süti beállítások módosítása