全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

public class和class的区别有哪些?

发布时间:2023-10-13 12:42:18
发布人:xqq

一、访问权限不同

public class是一个修饰符,用于声明一个公共类,可以被其他类访问,这意味着在同一个项目或包中的其他类可以直接访问该公共类。而class关键词仅仅是一个声明类的关键词,不具备访问权限的修饰功能,因此如果一个类没有明确指定修饰符,则默认为包访问权限。

二、文件结构不同

一个Java源文件只能包含一个public class,并且该文件的名称必须与public class的名称相匹配。这是Java编译器的规定,也是为了方便代码的组织和管理。而一个源文件可以包含多个非public class,这些类的名称可以与文件名不同。当然,这些非public class只能在同一个文件中访问。

三、入口点不同

在Java应用程序中,程序的入口点是main方法。只有public class才能包含main方法。当我们执行Java程序时,虚拟机会自动寻找public class中的main方法,并从那里开始执行程序。因此,如果我们想要一个类作为程序的入口点,必须将它声明为public class,并在其中定义main方法。

四、继承和实现不同

public class可以被其他类继承,这意味着其他类可以扩展并重写public class中的方法。这是面向对象编程的一种重要特性。然而,class关键词不允许其他类继承该类。因此,如果我们希望一个类能够被其他类继承和扩展,必须将它声明为public class。

五、可见性不同

public class对外部类和外部包可见。这意味着在不同的包中,其他类也可以访问public class。而class关键词仅对同一个包中的其他类可见,对外部包的类不可见。

综合上述内容,public class具有公共的访问权限,可以被其他类继承和实现,对外部类和外部包可见,并且可以作为程序的入口点;而class关键词没有访问权限修饰符,只能在同一个包中可见,不允许其他类继承和实现。理解这些区别,可以帮助我们更好地设计和组织Java类,使代码更加灵活、可扩展和易于维护。

延伸阅读1:在使用public class时有哪些注意事项

在Java编程中,public class是一种常见的类定义方式,它可以被其他类所访问和调用。但是,在使用public class时,我们需要注意以下几点事项:

一、文件名与类名必须一致

在Java中,每个源代码文件必须包含且只包含一个public类,而文件名必须与public类的类名完全一致,包括大小写。如果文件名与public类的类名不一致,编译器将会出现错误。

二、public类只能有一个

在一个Java文件中,只能有一个public类。如果在同一个Java文件中定义了多个public类,那么编译器将会报错。但是,可以定义多个非public类,这些类只能在同一个包中被访问。

三、public类的访问权限

public类的访问权限是较广泛的,其他类无论在哪个包中,都可以访问public类。但是,如果public类定义在某个包中,其他类需要使用该类时,需要使用完整的包路径来引用该类。

四、public类的方法和变量

在public类中,方法和变量的访问权限可以是public、private、protected或默认(不使用任何访问修饰符)。但是,需要注意的是,public类的所有public方法和变量都可以被其他类所访问,因此,需要谨慎处理这些公开的方法和变量,以免造成安全问题或不必要的麻烦。

五、public类的继承

public类可以被其他类继承,并且子类可以访问其公共方法和变量。但是,需要注意的是,如果public类的某些方法或变量被子类覆盖了,而且这些方法或变量在原始类中是公共的,那么子类中的同名方法或变量也必须是public的。

六、public类的构造函数

public类的构造函数可以被其他类所调用,因此,在设计public类的构造函数时,需要考虑到其安全性和正确性。如果public类的构造函数不应该被其他类所调用,可以将其定义为private或protected,以限制其访问权限。

七、代码规范

在使用public class时,需要遵循Java的代码规范,使用规范的命名方式、缩进、注释等,以使代码易于阅读和维护。同时,需要注意代码的可读性和可维护性,避免过于复杂的逻辑和冗长的代码,以提高代码的可复用性和可扩展性。

遵循上述这些注意事项,可以使代码更加规范、易读、易维护,并且提高代码的可复用性和可扩展性。

#it技术干货

相关文章

为什么声明性语言往往适合于并行执行,命令代码很难在多个内核和多个机器之间并行化?

为什么声明性语言往往适合于并行执行,命令代码很难在多个内核和多个机器之间并行化?

2023-10-13
MySQL InnoDB引擎中的各种锁具体是怎么实现的?

MySQL InnoDB引擎中的各种锁具体是怎么实现的?

2023-10-13
类似博客这样的图文混排内容在数据库中是以什么形式保存的呢?

类似博客这样的图文混排内容在数据库中是以什么形式保存的呢?

2023-10-13
Canal将MySQL数据同步到Elasticsearch怎么保证数据一致性?

Canal将MySQL数据同步到Elasticsearch怎么保证数据一致性?

2023-10-13

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取