Понимание списка в одну строку: варианты if-else

null в Java аналогичен / аналогичен nullptr в C ++.

Программа в C ++:

class Point
{
    private:
       int x;
       int y;
    public:
       Point(int ix, int iy)
       {
           x = ix;
           y = iy;
       }
       void print() { std::cout << '(' << x << ',' << y << ')'; }
};
int main()
{
    Point* p = new Point(3,5);
    if (p != nullptr)
    {
       p->print();
       p = nullptr;
    }
    else
    {
        std::cout << "p is null" << std::endl;
    }
    return 0;
}

Та же программа в Java:

public class Point {
    private int x;
    private int y;
    public Point(int ix, int iy) {
        x = ix;
        y = iy;
    }
    public void print() { System.out.print("(" + x + "," + y + ")"); }
}
class Program
{
    public static void main(String[] args) {
        Point p = new Point(3,5);
        if (p != null)
        {
            p.print();
            p = null;
        }
        else
        {
            System.out.println("p is null");
        }
    }
}

Теперь вы понимаете из кодов выше, что является нулевым в Java? Если нет, то я рекомендую вам изучить указатели на C / C ++, а затем вы поймете.

Обратите внимание, что в C, в отличие от C ++, nullptr не определено, но вместо этого используется NULL, который также может использоваться в C ++ тоже, но в C ++ nullptr является более предпочтительным, чем просто NULL, потому что NULL в C всегда связан с указателями, и это все, поэтому в C ++ суффикс «ptr» был добавлен к концу слова, а также все буквы теперь нижний регистр, но это менее важно.

В Java каждая переменная типа non-primitive типа всегда ссылается на объект этого типа или унаследована, а null - это ссылка на объект null класса, но не нулевой указатель, поскольку в В Java нет такой вещи «указатель», но вместо этого используются ссылки на объекты класса, а нуль в Java связан с ссылками на объекты класса, поэтому вы также можете назвать его как «nullref» или «nullrefobj», но это длинный , поэтому просто назовите его «null».

В C ++ вы можете использовать указатели и значение nullptr для необязательных членов / переменных, то есть член / переменная который не имеет значения, и если он не имеет значения, то он равен nullptr, поэтому как можно использовать null в Java.

140
задан GG. 24 December 2016 в 07:55
поделиться