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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王光保 黑马帝   /  2011-7-18 11:27  /  3969 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class 和 class 有什么区别吗?

5 个回复

倒序浏览
黑马网友  发表于 2011-7-18 12:38:59
沙发
public 可以修饰method、field、class 表示这些为共有,可以被别的class、method来进行访问;

public class 表示定义一个类为公有类,那么当前这个公有类中如果有main函数,这个时候就它的类名,和文件名要完全一致。比如。Test.java为文件名
那么里面的类定义要为 public class Test{
public static void main(String[] args){
}
}

class 用来定义一个类,这个类可以写和自己所在的文件的名称不一致。比如:
Test.java为文件名,里面有两个类
其中一个
class A{
public A(){
System.out.println("Aaaaa");
}
}
public class Test{
public static void main(String[] args){
   A a = new A();
}
}

评分

参与人数 1技术分 +1 收起 理由
admin + 1 辛苦了,但只能加1分

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-7-18 13:20:41
藤椅
如果一个类声明的时候使用了public class进行了声明,则类名称必须与文件名称完全一致,在一个类中只能有一个public声明的类,但是可以有多个class类。
    public 也是修饰符 ,加到类或方法的前边用来指定类的访问权限,可以替换成private,protected。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-7-18 16:39:19
板凳
:lol private 只能在这个类的内部才能被访问
:lol default (包访问权限) (也就是不加修饰符)可以被相同包里面的其他类访问
:lol protected (子类访问权限)呗同一个包里面的其他类访问,可以被不同包里面的子类访问,一般定义成这个修饰符是希望子类重写这个方法
:lol public (公共访问权限) 可以被所有类访问(不管访问类于被访问类是否在一个包,是否有父子关系)

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-7-18 17:22:14
报纸

回复 楼主 的帖子

首先,类的访问修饰符只能是缺省和public
有public类的源文件名称必须和这个public类相同,一个源文件里不能同时有两个public类

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-7-18 17:55:44
地板
有一点区别就是一个java文件只能有一个public class出现,但是可以有多个class出现。但是在每个类在未用关键字注明时,默认为public在这点上没区别。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马