public ,protected,friendly,private
1.用关键字private修饰的成员变量和方法成为私有变量和私有方法
class Tom{
private float weight;//weight是private的float型变量
private float f(float a,float b)//方法f是private方法
{
return a+b;
}
}
当在另一个类中用Tom创建一个对象后,该对象不能访问自己的私有变量和私有方法
列如:
class Jerry
{
void g(){
Tom cat =new Tom();
cat.weight=23f;//非法
float sum=cat.f(2,3);//非法
}
}
如果Tom类中的某个成员是私有类变量(静态成员变量),那么在另一个类中也不能通过类名Tom来操作这个私有类变量。如果Tom类中的某个方法是私有的类方法,那么在另一个类中也不能通过类名Tom来调用这个私有的类方法。
对于私有成员变量或方法,只有在本类中创建该类的对象时,这个对象才能访问自己的私有成员变量和类中的私有方法
2.用public修饰的成员变量和方法被称为共有变量和共有方法
列如:class Tom
{
public float weight;//weight是public的float型变量
public float f(float a,float b)//方法f是public方法
{return a+b;}
}
当任何一个类中用Tom创建一个对象后,该对象能访问自己的public变量和类中public方法
3用protected修饰的成员变量和方法被称为受保护的方法
列如:class Tom
{protected float weight;//weight是protected的float型变量
protected float f(float a,float b)//方法f是protected方法
{return a+b;
}
当在另外一个类中用Tom类创建了一个对象后,如果这个类与Tom在同一个包中或者这个类是Tom的子类,那么该对象能访问自己的protected变量和protected方法。在任何一个与Tom同一包中的类中,也可以通过Tom类的类名访问Tom类的protected类变量和protected类方法
}
4不用private,public,protected修饰符的成员变量和方法被称为友好变量和友好方法
列如:
class Tom{
float weight;//weight是友好的float型变量
float f(float a,float b)//方法f是友好方法
{return a+b;
}
}
当在另外一个类中用类Tom创建了一个对象后,如果这个类与Tom类在同一个包中,那么该对象能访问自己的友好变量和友好方法。在任何一个与Tom在同一个包中的类中,都可以通过Tom类的类名访问Tom类的类友好成员变量和类友好方法。
5.public类与友好类
1.public类:public class A{....}
可以在任何另一个类中使用public类创建对象
2,友好类:一个类不加public修饰,如:classA{...};
另外一个类中想要使用友好类创建对象时,要保证它们是在同一包中
总结:1.不能用protected和private修饰类
2.访问限制修饰符按访问权限从高到低的排列顺序是:public ,protected(同一包中的类,子类),friendly(同一包中的类),private