john shaft is a fictional character. he is played by richard roundtree in the 1971 movie that goes by his last name. he was also in the movie's four sequels. samuel l. jackson plays john shaft ii in the 2000 remake of shaft and the 2019 sequel.