Python Object-Oriented Python Advanced Objects Double

Does __new__() take self?

In the video preceding this code challenge, the teacher says:

"Notice that new() doesn't take self. This is because it's a special kind of method called a 'class method'. These are methods that work on a class and not on an instance."

However in this code challenge, it asks me to define new() and add both 'self' and one other argument. The code I used passes the test but I'm confused as to whether new() takes self as it's first parameter/argument now.
class Double(int):
        def __new__(self, arg1):
            return int(arg1)