Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Vart i ett javaprogram bör man ha instansvariabler?

Postades av 2005-10-05 19:00:01 - Jonas Amnå, i forum java, Tråden har 9 Kommentarer och lästs av 2898 personer

hejsan!

Jag undrar var någonstans i ett javaprogram man bör ha sina instansvariabler.
ska de skapas före konstruktorn eller i konstruktorn? har sett båda varianterna.

public class Test(){
private String namn="Olle"; ska de deklareras och initieras här eller i konsruktorn, dvs bara
private String tele ="22222"; deklareras här och initieras i konstruktorn?


Test(){

namn ="Olle"; eller ska de initieras här och deklareras innan konstruktorn
tele="33444";

}

}

Förvirrad??????


Svara

Sv: Vart i ett javaprogram bör man ha instansvariabler?

Postades av 2005-10-05 22:46:31 - Per Persson

Det finns bara ett ställe där de kan initieras om de inte skall initieras till samma värde för alla objekt, och det är i konstruktorn.


Svara

Sv:Vart i ett javaprogram bör man ha instansvariabler?

Postades av 2005-10-06 11:30:35 - Andreas Paulsson

Nja, man kan allt ha initialisering vid deklarationen också, men i det fallet är det knappast meningsfullt att initialisera dem igen till nya konstanter.

Dvs i klassen ovan kommer namn först att initialiseras till "Olle" och sedan i konstruktorn initialiseras till "Olle" igen. Pss är tele först "2222" och sedan "33444".

Hur man gör är litet tycke och smak, men jag tycker att en vettig variant är att vid deklarationen ge variablerna defaultvärden (om man inte gör det så får de defaultvärden enligt Java) och sedan i konstruktorn ge värden enligt de argument som konstruktorn tar.

Pss får man enklare underhåll om klassen dessutom har flera olika konstruktorer.

/Andreas


Svara

Sv: Vart i ett javaprogram bör man ha instansvariabler?

Postades av 2005-10-06 12:21:44 - Per Persson

Andreas skrev: <b>man kan allt ha initialisering vid deklarationen också</b>

Jo, men det är ingen större mening med det om medlemsvariablerna skall få olika värden i olika objekt. Den varianta initieringen är bara meningsfull i konstruktorn.

Per skrev: <b>om de inte skall initieras till samma värde för alla objekt</b>


Svara

Sv: Vart i ett javaprogram bör man ha instansvariabler?

Postades av 2005-10-06 13:14:31 - Andreas Hillqvist

Jag föredrar att lägga i konstruktorn. Vara konsekvent och göra detta med samtliga variabler.
Även om värdet är samma oavsett vilken konstruktor du anropar.


?
1
2
3
4
5
6
7
8
9
10
11
12
public class Person(){
  private String namn;
  private String tele;
 
public Person() {
  this("", "")
}
 
private Person(name, tele) {
  this.namn = name;
  this.tele = tele;
}


Svara

Sv:Vart i ett javaprogram bör man ha instansvariabler?

Postades av 2005-10-08 19:09:10 - Jonas Amnå

tack för alla givande svar

//Jonas


Svara

Sv:Vart i ett javaprogram bör man ha instansvariabler?

Postades av 2005-12-15 21:52:04 - Kristina Hägg

Håller helt med, med ett litet undantag...

Om man skriver ett SWING program, som kanske innehåller en hög JLabels, JTextField osv. som ska ha unika namn. Då tycker jag det blir både tydligare och mer lättläst om man instansierar dem direkt. Fördelen blir då också att konstruktorn innehåller mindre kod och detta fall ska man ju inte ändra värdena på instansvariablerna.

Kristina


Svara

Sv: Vart i ett javaprogram bör man ha instansvariabler?

Postades av 2006-02-17 21:22:00 - Peter Ramström

Håller med...
Men, det jag tycker faller bort i diskutionen är att:
Antingen använder man sig av konstruktorer där man har möjlighet att använda sig av parametrar
för att instansiera objektet.

Tex:
public class Test(){
private String namn=null;
private String tele =null;
public Test(){

}


Svara

Sv: Vart i ett javaprogram bör man ha instansvariabler?

Postades av 2006-02-17 21:22:01 - Peter Ramström

Håller med...
Men, det jag tycker faller bort i diskutionen är att:
Antingen använder man sig av konstruktorer där man har möjlighet att använda sig av parametrar
för att instansiera objektet.

Tex:
public class Test(){
private String namn=null;
private String tele =null;
public Test(){

}


Svara

Nyligen

  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 846
27 962
271 764
7 244
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies
Expand
next previous
Close

Previous

0/0

Next