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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 抽烟男孩 中级黑马   /  2013-4-2 18:03  /  2760 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 抽烟男孩 于 2013-4-3 08:08 编辑

在Eclipse编译器里定义一个类只能是public或defualt
如我定义以下类会有问题
  1. private class Test{
  2. public static void get(String[] args){
  3. System.out.println("我是defualt类,谁能访问我");
  4. }
  5. }
复制代码
而且如果我想两个类写在一起也会有问题
  1. private class Help {
  2. Help(){System.out.println("我是Help类,我想成为私有类")}
  3. }
  4. public class Test9 {
  5. public static void main(String[] args){
  6. System.out.println("我是defualt类,谁能访问我");
  7. }
  8. }
复制代码
我想问的是java中默认的修饰符defualt是friend吗?java中的私有类如何定义?写在一起的两个类中无修饰符的类是否谁有访问权限?

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1 修饰符没牢固

查看全部评分

9 个回复

倒序浏览
您这编译能通过吗? 外部类只能用public或者默认修饰,这里的默认修饰符是不写,java中好像没有friend一说,就是class前面不加任何修饰!java中内部类才可以用private修饰!如果你要把两个类放在一个文件中没问题,但是最多只能有一个类使用public修饰

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 无奈№追夜 于 2013-4-2 22:23 编辑

看图,总结了各个修饰符的权限,不是内部class只能是public  或default

P.jpg (21.22 KB, 下载次数: 149)

P.jpg
回复 使用道具 举报
private不能修饰外部类,只能修饰内部类。而public和default都能修饰外部类和内部类。所以那里不能用private。

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
你那样写编译都会出错,
private不能用在类上(确切的说不能用在外部类上),只能用在类中,但是可以修饰内部类如下
class Demo
{
       private class Demo1
         {
         }

}
一般用在外部类的有public protect
protect是在一个包中可以访问,

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
私有类只能写在其他类中,属于某一个类在内部调用
回复 使用道具 举报
private是成员修饰符,只能修饰类的成员,不能用在类的外部,java就是这么规定的,是规则哦亲;

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
修饰类名只有public和默认,只有成员方法和变量能用public,private,protect和默认

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
public 公共的
public 关键字是可以应用于类、方法或字段(在类中声明的变量)的访问控制修饰符。 可能只会在其他任何类或包中引用 public 类、方法或字段。所有类成员的默认访问范围都是 package 访问,也就是说,除非存在特定的访问控制修饰符,否则,可以从同一个包中的任何类访问类成员。

private 私有的
private 关键字是访问控制修饰符,可以应用于类、方法或字段(在类中声明的变量)。 只能在声明 private(内部)类、方法或字段的类中引用这些类、方法或字段。在类的外部或者对于子类而言,它们是不可见的。 所有类成员的默认访问范围都是 package 访问,也就是说,除非存在特定的访问控制修饰符,否则,可以从同一个包中的任何类访问类成员

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
若还有问题,继续追问; 没有的话,将帖子分类改成【已解决】哦~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马