Java—类与类之间的区别;“类名”;和公共类“;“类名”;
两者之间有什么区别Java—类与类之间的区别;“类名”;和公共类“;“类名”;,java,class,Java,Class,两者之间有什么区别 class x { //code here } 及 有时我在网上看到一些例子,它们会有公共类而不是类,它们都是简单的程序。我使用类进行我的作业,其他人也一样第一个类将导致为您的类分配默认可见性,即包专用(即:在同一包中可访问) 第二个类使其公共,即对任何其他类可见 参考资料: 前者是“包可见性”或“默认可见性”,其中 类仅对同一包中的类可见 后者是“公共可见性”,其中该类对任何其他类都可见 对于成员、方法和内部类,还存在以下可见性修饰符: “受保护的可见性”与包
class x {
//code here
}
及
有时我在网上看到一些例子,它们会有
公共类
而不是类
,它们都是简单的程序。我使用类
进行我的作业,其他人也一样第一个类将导致为您的类分配默认可见性,即包专用
(即:在同一包中可访问)
第二个类使其公共
,即对任何其他类可见
参考资料:
- 前者是“包可见性”或“默认可见性”,其中
类仅对同一包中的类可见
- 后者是“公共可见性”,其中该类对任何其他类都可见
对于成员、方法和内部类,还存在以下可见性修饰符:
- “受保护的可见性”与包相同,只是
继承用受保护范围定义的类的用户也可以访问
它
- “私有可见性”表示该类仅可供
本身
最简单的说法是:
如果您拥有的所有内容都在同一个包中(每个文件顶部的包com.myschool.myapp),则没有区别,但如果任何内容想要访问其包外的任何内容,则必须是公共的
例如,“String”在“java.lang”中,您的包几乎肯定不在java.lang中,因此,如果String不是公共的,您就无法访问它。第一个将是默认类,即它不能在除自身之外的任何其他包中访问,但可以被同一包中的其他类访问
第二个是公开的,也就是说,您可以从任何包的任何类访问它,就像您访问字符串和数组一样,它们是不同的包
记住,我们谈论的是从包而不是类访问
关于,,
然后:如果我有一个未声明为public的类X(请大写类名),我可以在其中包含公共实例变量(例如publicstringname;)
当然,您可以在非公共类中使用公共实例变量。-1您不能将类声明为受
保护的
或私有的
。让一个类只对它自己可见有什么意义呢?这两个答案都是正确的。还有一条评论:尝试在两个类上都加上“public”,或者在与.java源文件名不匹配的类名上加上“public”,然后观察将出现的编译错误;)几乎。私有类也可以通过其封闭类访问。还值得注意的是,每个.java文件可能只有一个公共类,如果.java文件包含公共类,则文件名必须与类名匹配。@NullUser:当然可以有受保护类和私有类。你在自己的答案中发布的链接清楚地表明了这一点。请取消你的否决票。这是一个很好的答案。@NullUserExceptionఠ_ఠ - 如果是内部类,则可以有受保护类和私有类。您不能有受保护的或私有的顶级类。然后:如果我有一个未声明为public
的class X
(请大写类名),我可以在其中包含公共实例变量(例如public String name;
)
public class x {
//code here
}