I'm pretty new to the OO side of things and have a few questions to ask.

1) What are the advantages of stating your members as public?
i.e. Which is better?
Code:
class foo {
       var $bar;
       .....
    }
or
Code:
class foo {
       public $bar;
       .....
    }
At the moment I use var as it's shorter to write (I know i'm lazy). Are there any real reasons why public is better?

2) Similar to the previous question, what are the advantages of stating your methods as public?
At the moment I just leave any public methods without any declaration to their visibility. Is there anything wrong with this? Are there any advantages to stating their visibility?

3) What are the advantages of using interfaces?
As I said I'm fairly new to OOP and have looked a bit at interfaces. I don't see the point in them! Maybe I'm just not 'getting' interfaces but they seem very reduntant. If anyone has any good tutorials on Interfaces or reasons to use them I would appreciate it.