A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 热血青年 于 2014-5-29 00:31 编辑

定义类时public class 和class 有什么区别?

17 个回复

倒序浏览
1、private修饰词,表示成员是私有的,只有自身可以访问;   
2、protected,表示受保护权限,体现在继承,即子类可以访问父类受保护成员,同时相同包内的其他类也可以访问protected成员。   
3、无修饰词(默认),表示包访问权限(friendly, java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++ ),同一个包内可以访问,访问权限是包级访问权限;  比protected的权限大,比publicde 权限小
4、public修饰词,表示成员是公开的,所有其他类都可以访问;一个class文件中只允许存在一个public 修饰的class ,并且该class名和java文件名一致

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
用public修饰的话 就是必须要保证class名和java文件是一样的  而没有public修饰的类的话类名和java文件名是可以不一样的  
回复 使用道具 举报
我是来混分的,嘿嘿
回复 使用道具 举报
茂子 来自手机 中级黑马 2014-5-28 09:42:05
报纸
我为你着迷 发表于 2 小时前
用public修饰的话 就是必须要保证class名和java文件是一样的  而没有public修饰的类的话类名和java文件名是可以不一样的...

帮忙补充一点,当涉及到包与包之间类的访问时(不涉及继承关系),一个包中的类要向另一个包引用类建立对象时,这个类应该被public修饰,增大权限..来自: iPhone客户端
回复 使用道具 举报
来看看 吼吼
回复 使用道具 举报
被public class 修饰的类 只能在一个Java文件中出现一次,并且public class 后面所跟的类名必须和文件名一模一样,如下代码:文件名:Test.java
public class Test{
      public static void main(String[]args){
      }
}
而被public 修饰类,表示声明任何地方均可引用此类
而class 定义的类,可以在文件中出现多次。如:
class TestA{}
class TestB{}
而class类可以被同一个包内的成员访问引用


回复 使用道具 举报
都可以用来定义类
回复 使用道具 举报
都可以用来定义类

1、一个类中只能有一个public class声明,但是可以有多个class声明

2、用public class声明类时,类名必须跟文件名一致,否则发生编译错误;用class声明累则可以不同,但是编程出来的.class文件名跟类名相同


无论试用那种定义方式,定义了多少个类则会有多少个 *.class文件
回复 使用道具 举报
话说,刚开始介绍的好像就是这个,做题的时候多数,都是public class ,编译的时候好弄,区别吗就是 多打了一个英文单词。嘿嘿,
学的第一个程序,
class  Demo
{
public static void main(String[] args)
{
  System.out.println("Hello World!");
}
}
保存文件,起个名字,叫,nb
用黑屏编译,javac nb.java
                  Java Demo
输出 hello world
那么加上public
你再编译,javac nb.java
               
报错了有木有找不到了
回头,你把文件重命名叫Demo

javac Demo.java
Java Demo
就好了,明白了吗
回复 使用道具 举报
TS__likewise 发表于 2014-5-28 19:22
话说,刚开始介绍的好像就是这个,做题的时候多数,都是public class ,编译的时候好弄,区别吗就是 多打了 ...

明白了 谢谢! 我就是遇到了这个问题
回复 使用道具 举报
shisishishisi 发表于 2014-5-28 01:02
1、private修饰词,表示成员是私有的,只有自身可以访问;   
2、protected,表示受保护权限,体现在继承, ...

恩  知道了 谢谢!!!
回复 使用道具 举报
public是权限修饰符、是最大权限的意思。前面加了public代表权限最大。可以被任何对象调用,类上不加任何权限修饰符,默认就是public。个人理解。
回复 使用道具 举报
热血青年 发表于 2014-5-28 20:56
恩  知道了 谢谢!!!

能不能给黑马币。。。急需。。越多越好。。。
回复 使用道具 举报
public class:表示在同一个包中或其它包中的类可以访问该类;class:表示只有同一个包中的其他类才能访问该类
回复 使用道具 举报
public是权限修饰词而已,有public和没有类的权限不一样
回复 使用道具 举报
qfch 中级黑马 2014-5-28 22:03:57
17#
来学习的啊
回复 使用道具 举报
楼主正解
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马