powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопросы новичка.
25 сообщений из 83, страница 3 из 4
Вопросы новичка.
    #38802369
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
или пишут какие-то экзотические исключения и просят тебя перехватить их все. зачем помнить всю иерархию, если ide стразу мне покажет, что я делаю не так?

или ты предоставляешь в резюме ссылку на работающее приложение на не один день работы с использованием например struts, а у тебя спрашивают, а как получить значение поля бина в jsp?
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38802372
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
запариваться на изучении каких-то технологий для джуниора бессмысленно. Опыт рулит. В свящи с этим, лучше всего взять и написать среднюю по сложности программу, в которой обязательно есть база, многопоточность, работа с сетью и файлами.
Ну какой-нибудь бот или сервер. Как только функционал готов - рефакторинг, подключение Hibernate\Spring, перевод на мавен. По соотношению время\качество оптимальный вариант, конечно еще круче если есть опытный товарищ на сверку кода и пинок под зад, но тут понятно что трудно.
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38802384
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174а у тебя спрашивают, а как получить значение поля бина в jsp?

Вполне возможно просто ожидают услышать "через EL". Не самый плохой вопрос, и кстати да, говорящий о многом. И еще не всегда спрашивают чтобы зарубить - иногда спрашивают чтобы оценить опыт
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38802410
YamahaR1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никrema174а у тебя спрашивают, а как получить значение поля бина в jsp?

Вполне возможно просто ожидают услышать "через EL". Не самый плохой вопрос, и кстати да, говорящий о многом. И еще не всегда спрашивают чтобы зарубить - иногда спрашивают чтобы оценить опыт

Собеседование тоже опыт, так что чем больше ходишь на всякие собеседования тем больше прокачиваешься в каверзных вопросах :)
И да, по поводу написания программы средней сложности +1, главное что бы было интересно и не перегорел :)
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38802905
faustgreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо!
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38803039
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+100 к опыту если пойти волонтёром в какой-нить проектик. Бесплатно. Месяц будут пинать
зато вырастешь в своих глазах и на собеседовании будешь увереннее.
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38810014
faustgreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос №8:
В классе Object есть метод
Код: java
1.
protected native Object clone() throws CloneNotSupportedException;



1). Он же не абстрактный, а просто написан на другом языке?
2). Почему метод clone() не доступен пока его не переопределишь ? (Модификатор protected тут не причем ?)

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
package test;

public class Test3 {
	public static void main(String[] args) {
		A a = new A();
		a.clone(); // метод недоступен, пока закоментирован код внизу.
	}
}


class A{
	protected int i;
	//protected Object clone(){
	//	return new A();
	//}
}
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38810042
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38810052
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в Object нет реализации этого метода
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38810100
YamahaR1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustgreenВопрос №8:
В классе Object есть метод
Код: java
1.
protected native Object clone() throws CloneNotSupportedException;



1). Он же не абстрактный, а просто написан на другом языке?
2). Почему метод clone() не доступен пока его не переопределишь ? (Модификатор protected тут не причем ?)

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
package test;

public class Test3 {
	public static void main(String[] args) {
		A a = new A();
		a.clone(); // метод недоступен, пока закоментирован код внизу.
	}
}


class A{
	protected int i;
	//protected Object clone(){
	//	return new A();
	//}
}



1) Модификатор native означает что метод был реализован на другом языке отличном от Java через JNI;
2) У clone модификатор доступа protected (видимость на уровне пакетов), для доступа вам надо добавить интрефейс Cloneable и переопределить метод clone в своем классе.
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38810231
faustgreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм ... у меня вроде получилось переопределить метод, не используя интерфейс Clonable()
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
package test;

public class Test3 {
	public static void main(String[] args) {
		A a = new A();
		a.setI(10);
		A b;
		b = (A) a.clone();
		System.out.println("i = " + b.i);
	}
}


class A{
	protected int i = 0;
	void setI(int i){
		this.i = i;
	}
	
	@Override
	protected Object clone(){
		return this;
	}
}


Вроде все работает, хотя наверное будут какие то последствия такой работы.
ps. Тут вроде никакой практической пользы нет, просто стало интересно почему переопределенный метод виден, а если его не переопределять, то не виден(видимость же не зависит от того переопределен он или нет, наверное, тут что связанной с самой реализаций метода(так как он native) и базой языка).
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38810235
faustgreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
упс... туплю ... вместо клона вернул ссылку на тот же объект.
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38810346
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у этого метода нет реализации в предке, поэтому переопределять полюбэ, и соглашение такое, что надо применять интерфейс Cloneable к классу
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38810441
Андрей461117
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
faustgreen, оставил коммент
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38810925
DDiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
модификатор protected обозначает что данный метод виден в пакадже где объявлен класс и во всех потомках этого класса.
то что вы написали, это аналог вот этого, только называется иначе
Код: java
1.
2.
3.
4.
5.
public A getCopy() {
    A a = new A();
    a.setSomeField(this.getSomeField());
    return a;
}


метод clone класса Object таки реализован и работает (о чём нам говорит native) и он действительно копирует объект, для этого достаточно вызвать super.clone(). Но если ваш класс не имплементит интерфес Cloneable, но попытка вызвать этот метод приведёт к CloneNotSupportedException
вот как-то так оно работает если не накосячил
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
public class Main {

    static class A implements Cloneable {
        public String s ;

        A(String s) {this.s = s;}

        @Override
        protected A clone() throws CloneNotSupportedException {
            return (A) super.clone();
        }
    }

    public static void main(String[] args) throws CloneNotSupportedException {
        A original = new A("This is original object");

        A clone = original.clone();
        clone.s = "This is clone object";
        System.out.println("s = " + original.s);
        System.out.println("s = " + clone.s);
    }
}


как видно, я ничего не копирую руками, всё делает clone()
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38816205
faustgreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос №9
Начал разбирать коллекции. Заметил такую штуку для класса ArrayList :
Код: java
1.
2.
3.
public class ArrayList<E> extends AbstractList<E>
        implements List<E>, RandomAccess, Cloneable, java.io.Serializable
{...}



Код: java
1.
public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E> {...}



Класс AbstractList<E> уже имплементит интерфейс List<E>(и, следовательно, если я правильно понимаю, в классе ArrayList<E> методы класса List<E> будут присутствовать), зачем еще раз имплементить интерфейс List<E> в самом классе ArrayList? Или это просто "лишние строки" (ничего плохого не делают, но по сути не нужны)? Например, если из объявления класса ArrayList убрать
Код: java
1.
implements List<E>

, все будет работать также как и раньше ?
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38816211
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustgreen,

Чтобы было понятнее.
http://stackoverflow.com/a/4387445
Та же история с Serializable, например. Стоит помечать этим интерфейсом каждый сериализуемый класс, даже если у классов общий сериализуемый предок. Просто чтобы было очевидно при чтении кода.
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38817838
Cpt. Gray
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите, плизз

Изучаю jdbc, БД MySQL

Есть таблица Клиент (id, name) и класс Клиент

Вопрос: где правильно задавать Id для записи и как его получать потом?
Например, когда создаю объект класса Клиент id оставить = 0 (как-то не очень красиво)
а потом после вставки в таблицу вернуть id згенерированный БД?

Или сделать статик поле в классе Клиент и проставлять всем новым объектам Клиента id+1? (но тогда программа после выключения и включения начнет считать id с 0 :( ) (тоже не красиво как-то)
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38817842
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38818117
host.13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А неплохо ТС-то за работу взялся. При таком подходе и упорстве через год-другой плевать уже на кризисы будет ))
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38836069
faustgreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос №10:

Если в коде ниже поменять тип массива на int , то list будет содержать 1 элемент со значением ссылки на массив.(при типе Integer в примере выводятся числа из массива) Почему ?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
public class Arrays_ {
	public static void main(String[] args) {
		Integer myArray1[] = {1, 5, 2, 6, 3, 4};// С int-ом такая штука не прокатывает.
		
		List myList = Arrays.asList(myArray1);
		
		System.out.println(myList);
	}
}
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38836076
faustgreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще сопутствующий вопрос: Можно ли массив типа int привести к массиву типа Integer?
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38836086
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustgreenИ еще сопутствующий вопрос: Можно ли массив типа int привести к массиву типа Integer?
Нет.
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38836096
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustgreenЕсли в коде ниже поменять тип массива на int , то list будет содержать 1 элемент со значением ссылки на массив.(при типе Integer в примере выводятся числа из массива) Почему ?

По-тому что и Автобоксинг и Varargs в Java это синтаксический сахар, реализованый на уровне компилятора, а не платформы. То есть их как бы нет в Java.

При автобоксинге компилятор просто пытается добавить в код конвертацию из примитива в обертку и обратно. И делает это только там где может угадать. Поэтому разница между примитивом и оберткой не стирается. Есть масса сценариев где примитивы и обертки ведут себя по-разному. То есть просто код конвертации не нужно писать самому. Но он есть. Это и называется "синтаксический сахар".
Точно так же реализованы и varargs. Которые на самом деле просто массив.

Arrays.asList() требует на входе массив объектов. Integer[] это уже массив объектов. Поэтому на выходе получем список Integer.
int[] это не массив объектов. Но он сам по себе объект. Поэтому компилятор для vararg оборачивает его в массив объектов. И потом пытается уже из этого массива создать список. Поэтому в списке только один элемент, так как у нас на входе только один объект.
...
Рейтинг: 0 / 0
Вопросы новичка.
    #38836097
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustgreen
Код: java
1.
		Integer myArray1[] = {1, 5, 2, 6, 3, 4};


Все соглашения о кодировании требуют писать скобки после типа, так как они относятся к типу, а не к имени переменной.
Правильное форматирование:
Код: java
1.
		Integer[] myArray1 = {1, 5, 2, 6, 3, 4};
...
Рейтинг: 0 / 0
25 сообщений из 83, страница 3 из 4
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопросы новичка.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]