初学java,记录下java明显有别于C++的地方;
简介:
public:public类是可公共访问的,任何人都可以声明对这种类的对象的引用,或者访问这种类的公共成员。如果没有 该修饰符,类就只能在它所在的包内访问类。
abstract:抽象类,通常包含abstract方法,这些方法必须在子类中实现;
final:final类不允许拥有子类;
public可以修饰任何类而且类名要与文件名相同,protected不可以修饰类,default同public;
跟C++有明显区别的主要是这个default,在类内和包内互相访问都是可以的,不能在包外进行访问
访问控制:
private:声明为private的成员只能被包含它的类自身所访问。
package:包成员无任何访问修饰符,它们只能被包含它们的类和它们所在的包中的类所访问;
protected:声明为protected的成员可以被包含它的类的子类、同一个包中的类以及包含它的类自身所访问;
public:声明为public的成员可以被任何类访问
访问权限 类 包 子类 其他包
public ∨ ∨ ∨ ∨
protect ∨ ∨ ∨ ×
default ∨ ∨ × ×
private ∨ × × ×