Когда «B расширяет A» - это на самом деле не то же самое, что «класс B имеет все методы и свойства A». Не класс, а объект класса B реализует все свойства и методы, определенные в классе A. Когда вы вызываете статический метод или свойство - вы имеете дело с классами, но не с объектами (это очень похоже на использование пространств имен).
ДОБАВЛЕНО:
Единственный способ решить вашу задачу - переопределить a1 (args) в классе B и вызвать super.a1 (args) внутри ... 1 строки кода. Но мне кажется, что у вас есть проблема с разработчиком программного обеспечения, если невозможно избежать такого рода использования.