When using property attributes and class and variables

[COLOR=#003366][COLOR=#333333][FONT=adobe-clean]I am somewhat confused with the attributes of class properties and variables[/FONT][/COLOR]
[COLOR=#333333][FONT=adobe-clean]for example when not using a varible with a public or private internal classes as concepts or functions here I got, I could explain with some simple examples to visualize it better thanks![/FONT][/COLOR]
[COLOR=#333333][FONT=adobe-clean] [/FONT][/COLOR]
[COLOR=#333333][FONT=adobe-clean]at what point should I use a variable: private, public, protect, internal[/FONT][/COLOR]
[COLOR=#333333][FONT=adobe-clean]how to use the attributes of a class as: internal, private, protected, public, static[/FONT][/COLOR]
[COLOR=#333333][FONT=adobe-clean]so please explain me with some examples in order to understand[/FONT][/COLOR]
[COLOR=#333333][FONT=adobe-clean] [/FONT][/COLOR]
[COLOR=#333333][FONT=adobe-clean]Access control attributes to variables:[/FONT][/COLOR]
[COLOR=#333333][FONT=adobe-clean]public: available to any call[/FONT][/COLOR]
[COLOR=#333333][FONT=adobe-clean]private: available only to the class that defines[/FONT][/COLOR]
[COLOR=#333333][FONT=adobe-clean]protect: available only to the class that defines and subclasses of that class[/FONT][/COLOR]
[COLOR=#333333][FONT=adobe-clean]internal: cauqluier available for call within the same package[/FONT][/COLOR]
[COLOR=#333333][FONT=adobe-clean] [/FONT][/COLOR]
[COLOR=#333333][FONT=adobe-clean]Class property attributes:[/FONT][/COLOR]
[COLOR=#333333][FONT=adobe-clean]internal (default): Visible to references inside the same package.[/FONT][/COLOR]
[COLOR=#333333][FONT=adobe-clean][FONT=inherit]private: Visible to references in the same class.[/FONT][/FONT][/COLOR]
[COLOR=#333333][FONT=adobe-clean][FONT=inherit]protected: Visible to references in the same class and derived classes.[/FONT][/FONT][/COLOR]
[COLOR=#333333][FONT=adobe-clean][FONT=inherit]public: Visible to references everywhere.[/FONT][/FONT][/COLOR]
[COLOR=#333333][FONT=adobe-clean][FONT=inherit]static: Specifies that an object belongs to the class rather than to the instances of the class.[/FONT][/FONT][/COLOR]
[COLOR=#333333][FONT=adobe-clean][FONT=inherit]UserDefinedNamespace: Name space for custom user-defined names.[/FONT][/FONT][/COLOR]
[/COLOR]