关于Java的访问修饰符public、protected、private,涉及封装、继承的相关知识点,下面为您详细演示:
1. Java中的访问修饰符
Java提供了4种访问修饰符,分别是:
- public:公共的,可以被所有类访问,无访问限制。
- protected:受保护的,只能被本类、同包内以及其它包中的子类访问。
- default:(没有修饰符)默认的,在同包内可以被访问。
- private:私有的,只能被本类访问。
其中public、protected、private是三种最常见的访问修饰符,这三种修饰符的访问权限决定了类的封装性和继承性。
2. 关于封装和继承
Java中的类封装性和继承性都是通过访问修饰符来实现的。
- 封装性:封装性是指可以把一个类的实现细节隐藏起来,不允许外部程序直接访问和修改该类的实现细节。这样可以提高程序安全性、可维护性和可重用性。
- 继承性:继承性是指子类可以继承父类的属性和方法,子类可以扩展或重写父类的功能。继承可以提高程序的复用性和可扩展性。
3. public修饰符
使用public修饰符可以使被修饰的类、属性或方法对所有类可见,没有访问限制,是最开放的访问控制方式。
3.1 public修饰类
如果一个类被public修饰,则这个类对于任何类都是可见的。如下代码:
public class Person {
//类内容
}
上述代码中,Person类被public修饰,可以被其它任何类访问到。这样的类通常定义在单独的文件中。
3.2 public修饰方法
如果一个方法被public修饰,则这个方法可以被该类外的任何类调用。如下代码:
public class Person {
public String getName() {
return name;
}
}
上述代码中,getName()方法被public修饰,可以被该类外的任何类调用,得到该对象的名字。
3.3 public修饰属性
如果一个属性被public修饰,则这个属性可以被该类外的任何类访问和修改。如下代码:
public class Person {
public String name;
}
上述代码中,name属性被public修饰,可以被该类外的任何类访问和修改。
4. protected修饰符
使用protected修饰符可以使该类的属性和方法对该类的子类或者同一包内的类可见。
4.1 protected修饰类
使用protected修饰符修饰的类,只能访问同一包中的其他protected成员,或者继承该类的子类中的protected成员。如下代码:
protected class Person {
//类内容
}
上述代码中,Person类被protected修饰,只能在同一包中或继承该类的子类中使用。
4.2 protected修饰方法
使用protected修饰符修饰的方法,只能被同一包中的其他类或继承该类的子类中访问。如下代码:
public class Person {
protected String getName() {
return name;
}
}
上述代码中,getName()方法被protected修饰,只能在同一包中或继承该类的子类中使用,得到该对象的名字。
4.3 protected修饰属性
使用protected修饰符修饰的属性,可以被该类的子类或同一包的类访问和修改。如下代码:
public class Person {
protected String name;
}
上述代码中,name属性被protected修饰,只能在同一包中或继承该类的子类中使用。
5. private修饰符
使用private修饰符可以使该类的属性和方法只能被该类内部调用,而其他类无法访问。
5.1 private修饰类
使用private修饰符修饰类,表示该类只能被其内部的方法所使用。如下代码:
public class Person {
private class InnerPerson {
//类内容
}
//类内容
}
上述代码中,InnerPerson类被private修饰,只能被Person类内部的方法所使用。
5.2 private修饰方法
使用private修饰符修饰方法,表示该方法只能在本类中使用。如下代码:
public class Person {
private String getName() {
return name;
}
}
上述代码中,getName()方法被private修饰,只能在Person类内部使用,得到对应对象的名字。
5.3 private修饰属性
使用private修饰符修饰属性,表示该属性只能在本类中使用。如下代码:
public class Person {
private String name;
}
上述代码中,name属性被private修饰,只能被Person类内部使用。
总结
在Java中,通过访问修饰符可以控制类的访问权限,包括属性和方法。public修饰符最为开放,private修饰符最为内部。不同的修饰符适用于不同的场景,封装和继承性都是通过访问修饰符来实现的。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java 的访问修饰符public,protected,private(封装、继承) - Python技术站