理解Java函数中的访问修饰符:public,private和protected
Java中的函数访问修饰符是指控制函数可以从何处访问的关键字。Java中有三种访问修饰符:public,private和protected。这些访问修饰符不仅适用于函数,也适用于类、成员变量和内部类。本文将着重讨论Java中的函数访问修饰符。
1. public
public是Java中最常用的函数访问修饰符。当我们使用public修饰函数时,可以从任何地方访问该函数。因此,public函数可以被任何类、对象或包中的其他代码调用。public函数允许我们在代码的不同部分进行通信,并维护代码的可读性。
例如,我们可以编写一个public函数来计算两个数字的和,如下所示:
public int add(int x, int y){
return x+y;
}
在这个例子中,我们定义了一个public函数add,可以从任何地方调用它,并且它返回输入数字的和。
2. private
private是另一种常用的函数访问修饰符。当我们使用private修饰函数时,该函数只能在具有该函数的类中访问。这意味着除了类本身之外,任何其他对象或代码都无法访问该函数。private函数对于保护类内部实现并确保数据的完整性和安全性非常有用。
例如,我们定义以下用私有函数实现的计算类:
public class Calculator{
private int add(int x, int y){
return x+y;
}
public int subtract(int x, int y){
return x-y;
}
public int multiply(int x, int y){
return x*y;
}
public int divide(int x, int y){
return x/y;
}
}
在这里,我们定义了一个私有函数add,并将其他函数设为公有函数。这使其他类只能通过调用公有函数来访问Calculator类的功能。另外,add函数只能被该类内部的其他函数访问,而不能被其他类访问。
3. protected
protected是Java中第三种函数访问修饰符。protected函数与private函数相似,但有一个很重要的区别。protected函数可以从具有该函数的类或其子类中访问。这意味着除了具有该函数的类之外,该函数也可以从该类的子类中访问。
下面是一个实现带有protected函数的类的例子:
public class Shape{
protected double area(){
return 0;
}
}
public class Triangle extends Shape{
private int base, height;
public void setDimensions(int b, int h){
base = b;
height = h;
}
protected double area(){
return 0.5*base*height;
}
}
在这个例子中,我们定义了一个Shape类,其中包含一个名为area的受保护的函数。接下来,我们定义了一个名为Triangle的子类,它继承了Shape类并重写了area函数。在Triangle类中,我们定义了base和height作为其属性,并使用setDimension函数设置这些属性的值。然后,我们重写了Shape类中的area函数,并使用这些属性计算三角形的面积。
总结
在Java中,函数访问修饰符允许我们控制函数的可见性和可访问性。public修饰符允许所有类、对象和包中的代码访问函数。private修饰符只允许包含函数的类访问这个函数。protected修饰符允许该函数在包含函数的类及其子类中访问。选择合适的函数访问修饰符可以保护代码实现并确保数据的完整性。
