在Java编程中,访问控制是面向对象编程中重要的一环。Java中使用三种不同的访问控制修饰符:private、protected和public。在本文中,我们将深入了解这三种访问控制修饰符及其使用方法。
private访问控制修饰符是Java中最严格的一种。使用private修饰符声明的变量、方法和构造函数只能在声明它们的类中访问,其他任何类都无法访问。
下面是一个使用private修饰符的例子:
public class Person { private String name; public Person(String name) { this.name = name; } public String getName() { return this.name; } }
在这个例子中,我们创建了一个Person类,并使用private修饰符声明了一个String类型的name变量。由于name变量是private的,因此只能在Person类中访问。我们还提供了一个公共方法getName(),用于获取name变量的值。
下面是使用Person类的例子:
public class Test { public static void main(String[] args) { Person person = new Person("Tom"); System.out.println(person.getName()); } }
在这个例子中,我们创建了一个Person对象,并调用了它的getName()方法。由于name变量是private的,因此无法直接访问它。但是,通过使用公共方法getName(),我们可以获取name变量的值。
protected访问控制修饰符在Java中使用较少。使用protected修饰符声明的变量、方法和构造函数可以在声明它们的类中访问,以及在同一个包中的任何类中访问。但是,在其他包中声明的子类中也可以访问protected成员。
下面是一个使用protected修饰符的例子:
public class Shape { protected int x, y; public Shape(int x, int y) { this.x = x; this.y = y; } protected void draw() { System.out.println("Shape.draw()"); } } public class Circle extends Shape { private int radius; public Circle(int x, int y, int radius) { super(x, y); this.radius = radius; } public void draw() { System.out.println("Circle.draw()"); } }
在这个例子中,我们创建了一个Shape类,并使用protected修饰符声明了两个整型变量x和y,以及一个draw()方法。我们还创建了一个Circle类,它继承自Shape类,并使用private修饰符声明了一个整型变量radius和一个public方法draw()。在Circle类中,我们可以直接访问Shape类中声明的x、y变量和draw()方法。
public访问控制修饰符是Java中最宽松的一种。使用public修饰符声明的变量、方法和构造函数可以在任何地方访问,无论是在同一个类中、同一个包中还是在不同的包中。
下面是一个使用public修饰符的例子:
public class Rectangle { public int width, height; public Rectangle(int width, int height) { this.width = width; this.height = height; } public void draw() { System.out.println("Rectangle.draw()"); } }
在这个例子中,我们创建了一个Rectangle类,并使用public修饰符声明了两个整型变量width和height,以及一个public方法draw()。由于这些成员都是public的,因此可以在任何地方访问。
在Java中,访问控制修饰符是面向对象编程中非常重要的一部分。Java中使用三种不同的访问控制修饰符:private、protected和public。使用这些修饰符可以帮助我们更好地控制类中的成员变量和方法的访问权限。
本文为翻滚的胖子原创文章,转载无需和我联系,但请注明来自猿教程iskeys.com