import java.util.List; final class Test { @SafeVarargs private void testPrivate(T... i){} @SafeVarargs protected void testProtected(T... i){} //but in final class public static void main(String[] args) { new Test().testPrivate(); new Test().testProtected(); } }