大家好,又见面了,我是你们的朋友全栈君。
##1.类的访问权限
- 为了控制某个类的访问权限,修饰词必须出现在关键字class之前。例如:
public class Student {}
- 在编写类的时候可以使用两种方式定义类:
(A)public class定义类
(B)class定义类
##2.public class定义类 - 如果一个类声明的时候使用了public class进行了声明,则类名称必须与文件名称完全一致。
- 被public修饰的类可以被其他包访问。如果现在的库名是com,那么就可容易通过下面的声明访问Student:
import com.Student;
或者
import com.*;
##3.class定义类
- 如果一个类声明的时候使用了class进行了声明,则作为启动类的名称可以与文件名称不一致,但是执行的时候肯定执行的是生成后的名称。
- 没有public修饰的类,该类就拥有了包访问权限,即该类只可以用于该包之中。
##4.class定义的类只具有包访问权限,该类不能被其他包访问
package access.cookie2;
public class Cookie
{
Cookie()
{
System.out.println("Cookie constructor");
}
public void bite()
{
System.out.println("bite");
}
}
package access;
import access.cookie2.*;
public class ChocolateChip2
{
public ChocolateChip2()
{
System.out.println("ChocolateChip2 constructor");
}
public static void main(String[] args)
{
ChocolateChip2 x = new ChocolateChip2();
Cookie y = new Cookie();
y.bite();
}
}
-
编译、运行:
-
如果把Cookie修改为:public class Cookie{}。再编译、运行:
##5.小结
- 每个编译单元(文件)都只能有一个public类。即每个编译单元都有单一的公共接口,用public类实现。此时,mian()就必须要包含在public类中。
- public类的名称必须完全与含有该编译单元的文件名称一致,包括大小写。如果不匹配,编译时错误。
- 如果编译单元(文件)中不含有一个public类,此时编译单元文件名称可以与启动类名称可以不一致,即可以随意对文件命名。这样的话,main()不是必须要放在public类中才能运行程序。
- **总的来说,一个Java源文件中最多只能有一个public类,当有一个public类时,源文件名必须与之一致,否则无法编译,如果源文件中没有一个public类,则文件名与类中没有一致性要求。**至于main()不是必须要放在public类中才能运行程序。
欢迎关注公众号:VenusBlockChain 致力于区块链技术研究,传播区块链技术和解决方案、区块链应用落地、区块链行业动态等。
参考:http://www.jb51.net/article/39892.htm
http://www.cnblogs.com/stevengerrard/p/4067422.html
《java编程思想》
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/132763.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...