Moduleで継承みたいなことってできないんでしょうか?

module mod1
integer,parameter :: val1 = 20
end

module mod2
use mod1
end

program main
use mod2

print *, val1
end

みたいな
このままだとエラーですけど