---
title: "anrop till metodi instansierad klass, hur?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/55553-anrop-till-metodi-instansierad-klass-hur"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "sabbacus"
published: "2002-10-09T10:05:59.000Z"
updated: "2002-10-09T11:46:22.000Z"
replies: 2
views: 230
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/55553-anrop-till-metodi-instansierad-klass-hur"
---

# anrop till metodi instansierad klass, hur?

## #1 — sabbacus, 2002-10-09T10:05Z

Tjipp.
Sitter här och knåpar lite och min kompilator klagar just nu bara över en endaste sak och jag går bet på felet. Jag \_tror\_ att felet är att jag anropar en metod i en instansierad klass på fel sätt, men då jag är nybörjare har jag ingen aning egentlgien. Lite hjälp vore önskvärt.

Kod:
long total_days=0;
// year, month, day är integer
// Instansierar nytt kalenderobjekt
Calendar calendar = new GregorianCalendar(year, month, day); 

// Instansierar ett objekt, tror jag iaf
Calendar old_date_calendar = new MyCalendar(); 

// days_since är en funktion i MyCalendar som returnerar en long
total_days =  old_date_calendar.days_since(calendar);

Felet kompilatorn ger mig är "cannot resolve symbol" på days_since. Detta är dock inte det egentlige felet då klassen MyCalendar är prövad och fungerande kod.

Jag anser att felet ligger antignen i
1) instansieringen av old_date_calendar, alternativt
2) old_date_calendar...

Gissningsvis är detta värsta nybörjarfelet men då det är mitt första objektorienterade program så... ja :-)

Lite hjälp vore önskvärt.
/Magnus

Permalänk: https://www.webforum.nu/p/55553

## #2 — Viktor, 2002-10-09T10:22Z

Jag antar att MyCalendar() ärver av Calendar (eller implementerar Calendar), eller?

```
Calendar old_date_calendar = new MyCalendar();
```

Här skapar du en ny instans av klassen MyCalendar och *konverterar* den direkt till klassen Calendar, och klassen Calendar har ingen medlems funktion som heter "days_since()".
För att det ska fungera behöver du arbeta med ett MyCalendar objekt och inte Calendar.

```
MyCalendar old_date_calendar=new MyCalendar();
```

ellse kanske (lite osäker om detta fungerar)

```
Calendar old_date_calendar = new MyCalendar(); 
total_days = ((MyCalendar)old_date_calendar).days_since(calendar);
```

dvs här konverterar du tillbaka objektet till att vara ett objekt av typen MyCalendar, och får därigenom tillgång till funktionen days_since.

/Viktor

Permalänk: https://www.webforum.nu/p/814196

## #3 — sabbacus, 2002-10-09T11:46Z

Tjipp
Jag ändrade 'Calendar' i
Calendar old_date_calendar = new MyCalendar(); 
till 'MyCalendar' vilket således blidde
MyCalendar old_date_calendar=new MyCalendar();

Och då funkade hela programmet hur bra som helst. Och nu när jag vet vad jag gjort för fel så skäms jag nästan lite :-)

Tackar!

Permalänk: https://www.webforum.nu/p/814279

---

Tråden på webben: https://www.webforum.nu/amne/java/55553-anrop-till-metodi-instansierad-klass-hur
