NullPointerException
s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException
. Они наиболее распространены, но другие способы перечислены на странице NullPointerException
javadoc.
Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException
, be:
public class Example {
public static void main(String[] args) {
Object obj = null;
obj.hashCode();
}
}
В первой строке внутри main
я явно устанавливаю ссылку Object
obj
равной null
. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException
, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.
(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)
Вы правы, что расположение CSS является способом пойти. Вот быстрая информация:
position: relative
будет расположение элемент относительно [1 111] сам. , Другими словами, элементы размечаются в нормальном потоке, тогда он удален из нормального потока и смещения любыми значениями, которые Вы определили (вершина, право, нижняя часть, уехало). Важно отметить, что, потому что это удалено из потока, другие элементы вокруг этого не сместятся с ним (используйте отрицательные поля вместо этого, если Вы хотите это поведение).
Однако Вы, скорее всего, интересуетесь position: absolute
, который расположит элемент относительно контейнера. По умолчанию контейнер является окном браузера, но если родительский элемент или будет иметь position: relative
или position: absolute
набор на нем, то это будет действовать как родитель для расположения координат для его детей.
Для демонстрации:
<div id="container">
<div id="box"> </div>
</div>
#container {
position: relative;
}
#box {
position: absolute;
top: 100px;
left: 50px;
}
В том примере, верхний левый угол #box
составил бы 100 пкс вниз и 50 пкс, оставленных верхнего левого угла #container
. Если бы #container
не имел position: relative
, устанавливают, координаты [1 110] были бы относительно верхнего левого угла порта представления браузера.
Hope, которая помогает.
Необходимо явно установить положение родительского контейнера наряду с положением дочернего контейнера. Типичный способ сделать, который является чем-то вроде этого:
div.parent{
position: relative;
left: 0px; /* stick it wherever it was positioned by default */
top: 0px;
}
div.child{
position: absolute;
left: 10px;
top: 10px;
}
Абсолютное расположение располагает элемент относительно своего самого близкого расположенного предка. Так помещает position: relative
на контейнер, затем для дочерних элементов, top
и left
будет относительно верхнего левого из контейнера, пока дочерние элементы имеют position: absolute
. Больше информации доступно в спецификация .