Waterlogging

For non-cube 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-cube block is then "waterlogged". Both the non-cube block and the water source block occupy the same space. If the non-cube 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-cube blocks are waterlogged and none can be used to displace water source blocks, although they can still displace flowing water.

Mechanism
$$, 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.

$$, 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. In normal gameplay, a player cannot displace water source blocks using doors or other non-cube blocks to create breathing spaces underwater, like one can do in Java Edition. Only flowing water can be displaced in Bedrock.

Behavior
Section may be incomplete.

See for more info on Java Edition.