Java 类和内部类访问修饰符
这可能是一个重复的问题。 但我需要一个明确的答案。 我很困惑 例如: 我有课要显示时间Java 类和内部类访问修饰符,java,Java,这可能是一个重复的问题。 但我需要一个明确的答案。 我很困惑 例如: 我有课要显示时间 import java.util.Date; **public** class DateDisplay { public static void main(String[] args) { Date today = new Date(); System.out.println(today); } } 同一包中的任何类都不会扩展该类。 为什么我不能在priv
import java.util.Date;
**public** class DateDisplay {
public static void main(String[] args) {
Date today = new Date();
System.out.println(today);
}
}
同一包中的任何类都不会扩展该类。
为什么我不能在private声明一个类
为什么JAVA不允许我将类声明为私有类?这背后的原因是什么
我的第二个问题是我应该在哪里使用内部类?
内部类的用途是什么?回答第一个问题:如果要完成此任务,请定义一个包含私有类的公共/受保护类。因此,私有类只能在其类内访问
Example:
public class x
{
private class y
{
}
}
这里y类只能在x类中访问我想这也回答了你的第二个问题, 有关更多信息,请参见
类上的访问修饰符不仅指定可以扩展类的位置;它们还指定类的使用位置
private
表示:只能在类本身内部访问。顶级类是私有的
,这是没有意义的,因为这意味着您根本无法使用该类-任何其他类都无法使用它
如果要使包外的类无法访问某个类,请使用默认访问级别(根本不指定访问修饰符):
但是请注意,具有
main
方法的类应该是public
对于私有(顶级)类,您会怎么做?它将无法从任何地方访问。每个问题一个问题。@downvoter:请解释。我想知道投票的原因。只是问为什么编译器不允许我们将类声明为私有。
// Only accessible within the same package
class DateDisplay {
// ...
}