Для Java я использовал бы отражение , так как мне не нравится идея изменить доступ к пакету на заявленном методе только ради тестирования. Однако я обычно просто тестирую открытые методы, которые должны также гарантировать, что закрытые методы работают правильно.
Вы не можете использовать отражение для получения закрытых методов снаружи класса владельца, частный модификатор влияет на отражение также
, Это не верно. Вы несомненно можете, как упомянуто в ответ Cem Catikkas .
B.prototype = new A;
function B(){
A.call(this);
this.y = 2;
}
должно быть
function B(){
A.call(this);
this.y = 2;
}
B.prototype = new A;
Вы должны определить Функция конструктора B перед попыткой доступа к ее прототипу:
function A(){
this.x = 1;
}
function B(){
A.call(this);
this.y = 2;
}
B.prototype = new A;
b = new B;
console.log(b.x + " " + b.y ); // outputs "1 2"