Jakie odpowiedzi są poprawne? JAVA

0

Witam,
Orientuje sie ktoś jakie odpowiedzi są poprawne w 100%, niby to proste ale tu może być kilka poprawnych lub żadna a ja wole się upewnić :)

Aby podnieść wyjątek w java należy:

Użyć try catch
wykorzystac slowo kluczowe throw
umiescic w nagłówku metody throws
Utworzyc klase dziedziczącą po Exception

Wszystkie są poprawne?

3

Ło jezu, niech ktoś wezwie milicję!

1
maclaw01 napisał(a):

Witam,
Orientuje sie ktoś jakie odpowiedzi są poprawne w 100%, niby to proste ale tu może być kilka poprawnych lub żadna a ja wole się upewnić :)

Aby podnieść wyjątek w java należy:

Użyć try catch
wykorzystac slowo kluczowe throw
umiescic w nagłówku metody throws
Utworzyc klase dziedziczącą po Exception

Wszystkie są poprawne?

Nie.

throw new <? extends Exception>,

np.

throw new BadTranslationException();

A ja oblałem 1 semestr informatycznych przez matmę i fizykę... (w sumie to nawet się nie uczyłem ;D), widocznie nadaję się tylko do ZAWODÓWKI PROGRAMISTYCZNEJ,.

4

Warto dodać wyjaśnienie:
Użyć try catch NIE - w ten sposób przechwytujemy wyjątek
wykorzystac slowo kluczowe throw TAK
umiescic w nagłówku metody throws NIE - throws umieszczamy tylko jeżeli nie przechwycimy wszystkich wyjątków, które mogą zostać wyrzucone w danej metodzie (poza naszym wyjątkiem, wywołania innych metod mogą go wyrzucać)
Utworzyc klase dziedziczącą po Exception NIE - java już ma klasę, która możemy użyc java.lang.Exception

0

Dzieki za odpowiedz :)

Mam jeszcze kilka pytań, jeśli możecie prosze odpowiedzi wraz z wytłumaczeniem :D

Które z właściwości zmiennej this są pradziwe?

a) metody statyczne nie mogą odwoływać się do zmiennej this
b)każdy obiekt posiada zmienna this
c)this powstaje podczas tworzenia obiektu
d) uzycie this w konstruktorze jest nie mozliwe, gdyż obiekt jeszcze nie istnieje

1
maclaw01 napisał(a):

Mam jeszcze kilka pytań, jeśli możecie prosze odpowiedzi wraz z wytłumaczeniem :D

Które z właściwości zmiennej this są pradziwe?

a) metody statyczne nie mogą odwoływać się do zmiennej this
b)każdy obiekt posiada zmienna this
c)this powstaje podczas tworzenia obiektu
d) uzycie this w konstruktorze jest nie mozliwe, gdyż obiekt jeszcze nie istnieje

a) - bo metody statyczne nie mogą odnosić się do instancji
b) nie może być zmiennej o nazwie "this", tak więc jak obiekt mógłby mieć taką zmienną?
c) nie wiem, chyba tak...
d) ale this odnośnie czego? Odnośnie jakiego obiektu? Generalnie to można...

1

@maclaw01: Ja Tobie sugeruje się po prostu nauczyć Javy. Bo jakbyś miał elementarne pojęcie to byś takich pytań jak " czy w statycznych metodach można skorzystać z this " nie zadawał :D

3

Pytanie brzmi, od kiedy this jest zmienną? Nie dziwię się że ludzie ściągają jak dostają pytania które nie mają sensu.

1

Jak słusznie zauważył @krzysiek050 this to nie zmienna, a słowo kluczowe (ang. keyword).

W celu uzyskania odpowiedzi na to pytanie wystarczy otworzyć tutorial na stronie Oracle'a, a tam czytamy:

Within an instance method or a constructor, this is a reference to the current object

I to już w zasadzie daje nam odpowiedzi na nasze wszytkie pytania.

a) metody statyczne nie mogą odwoływać się do zmiennej this - prawda

The Java programming language supports static methods as well as static variables. Static methods, which have the static modifier in their declarations, should be invoked with the class name, without the need for creating an instance of the class.

Skoro statyczne metody możemy wywołać bez tworzenia obiektu danej klasy, to z regułki na temat this wiemy, że z wnętrza takiej metody nie mamy dostępu do this. Statyczne metody mają tylko dostęp do statycznych pól danej klasy. Jeżeli spróbujecie odwołać się do innego pola to dostaniecie compile time exception.

b) każdy obiekt posiada zmienna this - prawda

Within an instance method or a constructor

Jeżeli mamy do czynienia z obiektem, to musiał zostać wywołany konstruktor i mamy dostęp do method instancyjnych (czy jak to tam jest po polsku), więc tak.

c) this powstaje podczas tworzenia obiektu - prawda

this is a reference to the current object — the object whose method or constructor is being called

a poza tym this jest już dostępne w bloku inicjalizacyjnym, który wykonuje się jeszcze przed konstruktorem.

Instance initializers are permitted to refer to the current object via the keyword this

d) uzycie this w konstruktorze jest nie mozliwe, gdyż obiekt jeszcze nie istnieje - fałsz

Within an instance method or a constructor

1

Wszystkie użycia this które przyszły mi do głowy:

import java.util.*;
import java.lang.*;
import java.io.*;

class Ideone
{
    String name = "No NPE pls";

    {
        this.name = "Dr Dre";
    }

    public static void main (String[] args) throws java.lang.Exception
    {
        Ideone test = new Ideone();
        test.go();
    }

    public Ideone() {
        this("Slim Shady");
        this.name = "Eminem";
    }

    public Ideone(String name) {
        this.name = name;
    }

    public void go() {
        System.out.println("My name is: "+this.name);
    }
}

http://ideone.com/wSXCIL

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0