Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Метод removeRange класса Vector


Автор: SamuraiD 24.10.2007, 16:36
Изучаю методы класса-коллекции Vector. Использую J2SE 5.0.

Пишу следующий код:

Код


import java.util.Vector;

public class Test {

    public static void main (String[] args){

        Vector vec1 = new Vector();
        vec1.add(5);
        vec1.add(6);
        vec1.add(7);
            
        vec1.removeRange(0, vec1.size());
        System.out.println(vec1.size());
    
    }
}




При компилляции выдаёт ошибку:
"removeRange(int, int)" has protected access in java.util.Vector

Посмотрел в описании метода - действительно protected.

Вопрос, а как тогда его использовать-то???

Автор: v2v 24.10.2007, 16:46
Цитата

класса-коллекции Vector. Использую J2SE 5.0.

та ну. есть Вектор - это уже вчерашний день... тоесть год... тоесть столетие и тысячелетие smile
используй Collection, List , Set , Map и их наследников.

но всё таки:
Цитата

Вопрос, а как тогда его использовать-то???

написать свой класс наследник от Вектор-а и у него перегрузить протектед в публик. 


Автор: SamuraiD 24.10.2007, 16:56
Цитата

Вектор - это уже вчерашний день...


Изучаю только ради, так сказать, научного интереса. При написании своих приложений использовать не буду.


Цитата

написать свой класс наследник от Вектор-а и у него перегрузить протектед в публик. 


Я только не понимаю, нафига этот метод сделали protected???

Автор: fixxer 24.10.2007, 17:14
Цитата(v2v @ 24.10.2007,  16:46)
написать свой класс наследник от Вектор-а и у него перегрузить протектед в публик.

Вас зовут Public Morozov?

Автор: v2v 24.10.2007, 17:16
Цитата(SamuraiD @  24.10.2007,  16:56 Найти цитируемый пост)
Я только не понимаю, нафига этот метод сделали protected???

оказывается на ваш риторический вопрос имеется ответ
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4230617

Добавлено через 40 секунд
Цитата(fixxer @  24.10.2007,  17:14 Найти цитируемый пост)
Вас зовут Public Morozov?

не понял юмора!

Автор: fixxer 24.10.2007, 17:25
антипаттерн проектирования - Public Morozov. Это класс, который открывает доступ ко всем полям и методам класса-предка, не зависимо от их модификаторов видимости

Автор: v2v 24.10.2007, 17:39
Улыбнуло smile
Цитата(fixxer @  24.10.2007,  17:25 Найти цитируемый пост)
антипаттерн проектирования - Public Morozov. Это класс, который открывает доступ ко всем полям и методам класса-предка, не зависимо от их модификаторов видимости

вот вы и сами ответили на свой вопрос. Я не являюсь антипатентом проектирования, так что Public Morozov-ом быть не могу  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)