An 18-year-old man has been killed by a shark while spear fishing on the Great Barrier Reef off the east Australian tourist town of Port Douglas.

It was the first fatal shark attack in Australia since September, when a 50-year-old swimmer was killed at popular Byron Bay, 1,000 miles to the south.

In the latest attack, police said the man, from the nearby town of Mossman, was mauled while fishing with friends off Rudder Reef.

He was pronounced dead shortly after his friends brought him to shore by boat.

The man sustained massive injuries to his right upper leg, right groin and right upper arm, Queensland state Ambulance Service spokesman Greg Thiedecke said.

He also suffered a heart attack, likely due to blood loss, he said.