Java中class的前面添加public和不添加public的区别

如题所述

Java中class的前面添加public和不添加public的区别:

需要知道的是修饰类和变量的用来控制这个被修饰的类和变量的适用范围的修饰词有:


1.public:表示公开的类和变量,既所有的类都可以引入使用的。



2.protected:表示受保护的类,只有子孙类和本类可以引入使用。


默认:表示同包中和本类中可以引入使用。



3.private:表示私人的,只有在本类中可以引入使用。


所以显而易见,如果一个class前面如果添加了public修饰则可以被所有类引入使用,如果没有

加任何修饰词,那么就只能够被同包中的类和本类引入使用。

在java中public void与public static void有什么区别 ?

public void 修饰是非静态方法,该类方法属于对象,在对象初始化(new Object())后才能被调用;public static void 修饰是静态方法,属于类,使用类名.方法名直接调用。

非静态方法之间可以互相调用,非静态方法也可以调用静态方法;但是静态方法不可以直接调用(未初始化的)非静态方法。由于 public static void main 作静态方法,所以遵循这个原则。

但是 Java 可以通过对象名调用静态方法(对象名.静态方法)。Java 中不会导致语法错误(syntax error),但是不推荐这样使用,静态方法与非静态方法调用时应当绝对区分;而且其他 OOP 语言如 C#,Swift,Objective-C 都没有这样的语法。



温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-10-29
java中class的访问权限修饰(不是内部类的情况下)应该只能是public或是不写;public表示这个类是全局的,也就是说我们在其他包中import这个类并能使用这个类。如果不写修饰符表示该类只在当前包中可用;一个.java文件中只能有一个public修饰的类,并且.java文件的名称要与该类的名称一致。
至于类中字段和方法(以及内部类等)的访问权限修饰符才可以使public、private、protected、不写。
所以讨论类,成员的访问权限修饰符的时候应该分别讨论,我看其他评论都是揉在一起说的,不太清晰,然后自己也动手验证过了,如果有不对的地方请指出。
第2个回答  2017-03-09
Java中class的前面添加public和不添加public的区别:
需要知道的是修饰类和变量的用来控制这个被修饰的类和变量的适用范围的修饰词有:
public:表示公开的类和变量,既所有的类都可以引入使用的

protected:表示受保护的类,只有子孙类和本类可以引入使用
默认:表示同包中和本类中可以引入使用

private:表示私人的,只有在本类中可以引入使用
所以显而易见,如果一个class前面如果添加了public修饰则可以被所有类引入使用,如果没有加任何修饰词,那么就只能够被同包中的类和本类引入使用。本回答被提问者采纳
第3个回答  2017-03-09
java中有private protected public 还有就是什么都不加,也就是default(默认)4中情况,有没有public在使用上面会有差别,鉴于你问出这个问题,额,刚入门没有差别,等你真正需要使用差别的时候,你早就明白了。那么多废话,就是说现在你用起来没有什么差别
相似回答