Waterlogging

For non-solid blocks (that is, blocks that don't completely fill their block volume, such as doors, ladders, and plants), a water source block may occupy the unfilled volume. The non-solid block is then "waterlogged". Both the non-solid block and the water source block occupy the same space. If the non-solid block is destroyed, the water source block remains.

In Java Edition, the effect may also be created using a debug stick. In Bedrock Edition, generally all non-solid blocks are waterlogged and none can be used to displace water source blocks, although they can still displace flowing water.

Mechanism
In Java Edition, certain blocks have a block state which can be either. This is only a temporary solution, and a full separation of blocks and fluids is planned.

In Bedrock Edition, waterlogging is handled by the game's layers system. Through editing, any block can be waterlogged, as well as other things such as placing multiple slabs into a single block.

Behavior
Section may be incomplete.

See for more info on Java Edition.