A man accused of repeatedly punching his 25-year-old son and holding him in a headlock told a court he was acting in self-defence.