2010-03-25 59 views
0

java中的类可以有任何其他访问说明符比公共吗? 我们可以使用那个指定符不是public的类名来保存我们的文件吗?Java - 访问说明符

+0

相关:http://stackoverflow.com/search?q=can+a+java+class+be+protected – Pops 2010-03-25 15:02:00

回答

3

java中的访问修饰符 - 解释。

I)类级别访问修饰符(Java类只)

只有两个访问修饰符是允许的,public并没有修改

如果一个类是 'public',那么就可以从任何地方访问。

如果一个类有'没有修饰符',那么它只能从'相同的包'访问。

II)会员级别访问修饰符(Java变量和Java方法)

所有四个publicprivateprotected并没有修改是允许的。

public并且没有修饰符 - 与在课程级别中使用的方法相同 。

private - 会员只能访问。

protected - 可以从 '同一包'和一个存在 的任何包中的子类访问。

来源:http://javapapers.com/core-java/access-modifiers-in-java-explain

2

是的,它们可以是封装私有的。这被定义为:

class foo { 
    int data; 
} 

在Java中的非嵌套类,但是,可以不privateprotected

最后一类可以abstractfinalstrictfp

Java Pocket Guide验证了这一点(这是我的办公桌上。)

0

当然,没有理由不来。

1

顶层类可以有publicdefault(“包私人”)可见性。

内部类也可以是privateprotected(以及以上):

public class OuterClass 
{ 
    private class InnerClass 
    { 
     // .... 
    } 
     // .... 
} 
1

顶级类只能public或包专用(没有访问修饰符)。

嵌套类也可以是privateprotected

-1

在Java中没有访问说明符。在Java sun中,Microsoft给出了Modifiers。

据Sun微软有很多改进剂是有

  • private
  • protected
  • public
  • static
  • final
  • abstract
  • ​​
  • transient
  • volatile
  • strictfp

有些人认为privatepublicprotected是访问说明。但据Sun称,微软称之为Modifiers。

+2

static,final,abstract,synchronized,transient,volatile和strictfp与这个问题无关。 Sun微软是什么? – 2011-05-18 16:05:00

1

的Java有四个级别的可见性:公有,保护(默认),私人

  1. 可见的包。默认。不需要修饰符。

  2. 仅对班级(私人)可见。

  3. 可见世界(公众)。

  4. 可见包和所有子类(受保护)。

看到图像了解使用访问说明的

enter image description here

0

访问说明被用来限制程序访问的细节。 这些说明符决定一个类中的字段或方法是否可以被另一个类方法或子类方法使用或调用。

有四种访问说明

1)公共 2)私人 3)受保护的 4)默认

这些都是按照我们的规范,在编程某些级别的访问权限使用。

1)公共 类,方法和字段被声明为公共的可从在Java程序中的任何其他类访问,无论它们是在相同的封装或另一个包。

2)私人
字段和其声明为私有可以在相同的类中,以它们belong.Using私人说明符,我们也可以实现封装其用于隐藏数据

访问方法3)保护 声明为受保护的字段和方法只能由另一个包中的子类或受保护成员类包中的任何类访问。 请记住,受保护的说明符不适用于类和接口。

4)默认 ,如果你不声明任何说明符,它会按照默认的可访问性level.where,有没有默认的关键字。类,字段,方法可以是默认的(没有指定符的声明)。通过使用默认指定符,我们可以访问属于同一个包的类,方法或字段,但不能从这个包的外部访问。