访问权限:public ,protected ,友好 ,private

private:用private声明的成员变量和方法称为私有变量和私有方法。只有在本类中创建该类的对象时,这个对象才能访问自己的私有成员变量和类中的私有方法。如果成员变量是私有类变量(私有静态成员变量),方法是私有类方法,那么在另外一个类中也不可以通过该类名来操作自己的类变量和类方法。

class A{
private int a;
private int f();
}

class B{
void ff(){
A tom=new Tom();
tom.a=1;//非法
tom.f();//非法
}
}

public: 共有变量和共有方法。当在任何一个类中用类A创建一个对象后,该对象能访问自己的public变量和public方法,包括类变量和类方法。不同包也没有关系,import进去后照样管用。

不用private, public, protected修饰符的变量和方法称为友好变量和友好方法。在类B中用类A创建了一个对象,若类A和类B在同一包中,那么该对象是可以访问自己的友好变量和友好方法的。包括类变量和类方法(用类名访问)。不同包使用类A时,需要import进去,即使import,也不能访问自己的变量和方法。

protected:受保护的成员变量和方法。在类B中用类A创建了一个对象,若类A和B同包,那么该对象可以访问自己的受保护成员变量和方法。包括类protected变量和类protected方法。

实际开发中访问权限修饰符都什么时候用?

不能用protected和private修饰类,访问权限的级别排列,从高到低是pubic、protected、友好的、private。

public修饰的变量和方法可以被任何类继承或使用

protected修饰的变量或方法:继承-当前类,同包类,不同包类。使用-当前类,同包类。

友好修饰的变量和方法只能被当前类,同包类继承或使用。

private修饰的变量和方法只能被当前类使用。不存在继承。

四种修饰符中protected用的是最多的可以封装也可以继承,纯粹的封装用的是private。public就不说了,啥都可以做,但是安全性较低。友好类修饰的只能同包继承,因为开发中文件众多,不可能都在同一个包中继承,实用性较差。用protected继承时,不仅可以不同包继承,重写父类方法,还可以避免直接调用父类方法从而混乱应用的执行顺序。

你可能感兴趣的:(访问权限:public ,protected ,友好 ,private)