java中同一个文件夹下的两个类访问声明
时间: 2024-12-11 13:38:47 浏览: 6
IOS 开发之xcode对比两个分支中同一个文件
在Java中,如果两个类位于同一个目录下(即在同一包中),它们可以相互访问彼此的公开成员(public、protected)。以下是几种访问权限情况:
1. **公共(public)**:如果其中一个类的成员声明为public,另一个类无需任何访问修饰符就可以直接访问。
```java
// Public class A in package com.example
public class A {
public void methodA() {
// ...
}
}
// 同一包中的B类
class B {
public void useMethodA() {
A a = new A();
a.methodA(); // 直接访问
}
}
```
2. **受保护(protected)**:如果在一个包内的子类(如B类继承自A类)访问另一个类的受保护成员,也是允许的。
```java
protected class A {
protected void methodA() {
// ...
}
}
class B extends A {
void useProtectedMethod() {
methodA(); // 子类可以直接访问父类的protected方法
}
}
```
3. **默认访问(private)**:若两类都是默认访问级别,则只有在同一类内部才能访问彼此的私有成员。通常情况下,除非必要,我们不会让一个类直接访问其他类的私有部分。
4. **友元(friend)**:在Java中,虽然没有原生的友元关系,但在某些特定场景(例如第三方库或框架)可能会通过设计模式模拟这种效果,但这不是标准做法。
**
阅读全文