Java - 访问说明符

时间:2010-03-25 14:58:31

标签: java

java中的类可以有除public之外的任何其他访问说明符吗? 我们可以使用具有除public之外的说明符的类名保存我们的文件吗?

10 个答案:

答案 0 :(得分:3)

  

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

     

I)类级访问修饰符(仅限java类)

     

只允许使用两个访问修饰符,public和无修饰符

     

如果某个班级是“public”,那么可以从任何地方访问。

     

如果某个类具有“无修饰符”,则只能从“相同包”访问它。

     

II)成员级访问修饰符(java变量和java方法)

     

允许使用所有四个publicprivateprotected和无修饰符。

     

public并且没有修饰符 - 相同   在班级中使用的方式。

     

private - 成员只能访问。

     

protected - 可以从中访问   'same package'和子类存在   在任何包中都可以访问。

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

答案 1 :(得分:2)

是的,它们可以是包私有的。这由以下定义:

class foo {
    int data;
} 

但是,java中的非嵌套类可以privateprotected

最后,课程可以 abstractfinalstrictfp

我在Java Pocket Guide验证了这一点(它在我的桌子上。)

答案 2 :(得分:1)

顶级课程可以publicdefault(“包私有”)展示。

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

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

答案 3 :(得分:1)

顶级类只能是public或包私有(无访问修饰符)。

嵌套类也可以是privateprotected

答案 4 :(得分:1)

Java有四个级别的可见性:public,protected,(default),private

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

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

  3. 向全世界(公众)展示。

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

  5. 查看图片以了解有关使用访问说明符的详细信息

    enter image description here

答案 5 :(得分:0)

当然,没有理由不这样做。

答案 6 :(得分:0)

有关详细说明,请参阅http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html

  

可以用声明声明一个类   修饰符public,在这种情况下   class对所有类都可见   到处。如果一个类没有修饰符   (默认,也称为   package-private),它只是可见的   在自己的包中

您还可以使用私有内部类来隐藏外部实现。

答案 7 :(得分:0)

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

根据Sun微软的说法,有许多修改器存在

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

有些人相信privatepublicprotected是Access说明符。但根据Sun微软的说法,有一种叫做Modifiers。

答案 8 :(得分:0)

访问说明符用于限制编程中的访问。 这些说明符确定是否可以由另一个类方法或子类方法使用或调用类中的字段或方法。

有四个访问说明符

1)公开 2)私人 3)保护 4)默认

这些根据我们的规范用于在编程中的某些级别访问。

1)公开         声明为public的类,方法和字段可以从Java程序中的任何其他类访问,无论它们是在同一个包还是其他包中。

2)的私有
        声明为私有的字段和方法可以在它们所属的同一个类中访问。使用私有说明符我们也可以实现用于隐藏数据的封装

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

4)默认         如果你没有声明任何说明符,它将遵循默认的accessiblity level.where,有没有默认关键字。类,字段,方法可以是默认的(没有声明的声明)。通过使用默认说明符,我们可以访问属于同一个包但不在此包外的类,方法或字段。

答案 9 :(得分:0)

您可能是说 Java Access修饰符:

Default access (package acces)
public
private
protected

在Java中,访问说明符的正确命名是: Java不可访问修饰符

非访问修饰符是与访问级别无关的关键字,但在指定时提供特殊功能

final
static
abstract
synchronized
transient 
volatile
strictfp