这可能是一个重复的问题。 但我需要一个明确的答案来回答这个问题。 我很困惑。
对于EG: 我上课要显示时间。
import java.util.Date;
**public** class DateDisplay {
public static void main(String[] args) {
Date today = new Date();
System.out.println(today);
}
}
同一个包中的类都不会扩展此类。 为什么我不能在私人上宣布一个班级?
为什么JAVA不允许我将类声明为私有?这背后的原因是什么?
我的第二个问题是我应该在哪里使用内部课程? 内在阶级的目的是什么?
答案 0 :(得分:0)
回答第一个问题:如果你想完成这项工作,请定义一个公共/受保护的类,其中包含一个私有类。因此,私有类只能在其类中访问。
Example:
public class x
{
private class y
{
}
}
此类y只能在第x类中访问
我想这也回答了你的第二个问题,
了解更多信息
https://docs.oracle.com/javase/tutorial/java/javaOO/innerclasses.html
答案 1 :(得分:0)
类上的访问修饰符不仅指定了可以扩展类的位置;它们还指定了可以使用类的位置。
private
表示:只能在类本身内部访问。顶级课程private
是没有意义的,因为这意味着你根本不能使用该课程 - 任何其他课程都无法使用它。
如果您想让课程外的课程无法访问课程,请使用默认访问级别(根本不指定访问修饰符):
// Only accessible within the same package
class DateDisplay {
// ...
}
但请注意,使用main
方法的类应为public
。