`
liqian5251
  • 浏览: 16840 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

java中四个访问修饰符Public Default Protected Private

阅读更多


1、JAVA中有四个访问修饰符:default/public/private/protected
2、他们都拥有着不同的访问权限,而在不同情况下又有着不同的访问权限,分为以下几种
{
1、同类中
{
   首先我们写一段用来测试的代码
   {
   class boar
    {
     void defmethod()
     {
      System.out.println("default method");
     }
     protected void promethod()
     {
      System.out.println("protected method");
     }
     private void primethod()
     {
      System.out.println("private method");
     }
     public void pubmethod()
     {
      System.out.println("public method");
     }
     public static void main(String[] sl)
     {
      boar objboar=new boar();
      objboar.defmethod();
      objboar.promethod();
      objboar.primethod();
      objboar.pubmethod();
     }
    }
    保存,编译,成功!
    打印结果:
    default method
    protected method
    private method
    public method
    通过以上测试,我们得出:在同一类中,这四个方法都是可以被访问的!
   }
}
2、同包中的两个类
{
   首先我们来写代码(写两个类,把他们放到同一包下):
   {
    类一:
     package boar.medemo;
     class boar
     {
      void defmethod()
      {
       System.out.println("default method");
      }
      protected void promethod()
      {
       System.out.println("protected method");
      }
      private void primethod()
      {
       System.out.println("private method");
      }
      public void pubmethod()
      {
       System.out.println("public method");
      }
     }
    类二:
     package boar.medemo;
     class boardemo
     {
      public static void main(String[] sl)
      {
       boar objboar=new boar();
       objboar.defmethod();
       objboar.primethod();
       objboar.promethod();
       objboar.pubmethod();
      }
     }
   }
   保存代码,编译,在这时,编译的时候会提示如下错误提示:
   boardemo.java:8: primethod() 可以在 boar.medemo.boar 中访问 private
                 objboar.primethod();
                        ^
1 错误
   意思是说:boar方法中的primethod()方法无法访问
   因此我们得出:在同一包中,private的方法没有权限访问!
}
3、在不同包中子类继续父类
{
   首先,我们来写代码(写两个类,放在不同的包中)
   {
    代码一:
     package boar.medemo;
     public class boar
     {
      void defmethod()
      {
       System.out.println("default method");
      }
      protected void promethod()
      {
       System.out.println("protected method");
      }
      private void primethod()
      {
       System.out.println("private method");
     }
      public void pubmethod()
     {
       System.out.println("public method");
      }
     }
    代码二:
     import boar.medemo.boar;
     class boardemo extends boar
     {
      public void pro()
      {
       defmethod();
       primethod();
       promethod();
       pubmethod();
      }
     }
   }
   保存,编译(javac -d . boar.java和javac -d . boardemo.java),这时系统提示:
   boardemo.java:6: 找不到符号
符号: 方法 defmethod()
位置: 类 boardemo
                 defmethod();
                 ^
boardemo.java:7: 找不到符号
符号: 方法 primethod()
位置: 类 boardemo
                 primethod();
                 ^
2 错误
   我们可以看到:在不同的包中,缺省的方法和私有的方法是不能被访问的。由于boardemo类是继承boar类的,因此protected的方法也是可以被访问的。而default方法上面我们已经得到验证,它只能在同一个包中的类进行访问,所以default方法也不能被访问
   因此,我们得到:在不同的包中(继承过来),缺省方法(default)和私有方法(private)是不能被访问的
}
}
关系图:

private       类内                          不同类  不能
default       类内+包内                     在不同的包中import后 也不能
protect       类内+包内+继承内
public        公共
分享到:
评论

相关推荐

    java中public、protected、默认、private关键字

    Java 中有四种访问修饰符:public、protected、默认(default)和 private。这四种修饰符的作用域从大到小依次降低。 1. public 修饰符 public 修饰符是最宽松的访问修饰符,它允许从任何地方访问修饰的成员,...

    Java修饰符使用整理(含实例)

    访问修饰符包括 public、protected、default 和 private 四种,用于控制类、成员变量和方法的访问权限。非访问修饰符包括 final、static 和 abstract 三种,用于控制类、成员变量和方法的继承关系和行为。 一、访问...

    用java代码来解析private、public、default、protected的权限问题

    本文将深入探讨`private`、`public`、`default`(默认)和`protected`这四种访问权限,并通过代码示例来解析它们在实际编程中的应用。 1. `private`权限: `private`是最低级别的访问权限,它限制了成员只能在同一...

    private,public,protected,还有default四种之间的区别

    Java中,我们有四种主要的访问修饰符:`private`,`public`,`protected`,以及默认(无修饰符)。这些修饰符帮助我们实现封装,这是面向对象编程的三大特性之一。下面我们将详细探讨这四种访问修饰符的区别: 1. *...

    理解java中的类的各种权限修饰符

    本文将详细探讨Java中的五种权限修饰符:`public`、`protected`、`default`(也称为包访问权限)、`private`以及`static`修饰类的情况,并通过实例来展示这些修饰符的具体应用。 #### 1. Public - **概述**: - `...

    java常用的修饰符

    Java修饰符是编程中至关重要的概念,它们用于定义类、接口、变量和方法的访问权限、行为和特性。本文将详细介绍Java中常见的修饰符及其用途。 1. **类的修饰符** - **public**: 公共访问控制符,允许任何地方的...

    java访问权限修饰符public.doc

    Java 作为一种面向对象的编程语言,提供了四种访问权限修饰符,它们分别是 `public`、`protected`、`default`(通常称为“包访问”或“友好访问”,文中提到的 `friendly` 实际上就是 `default`)和 `private`。...

    java修饰符

    本文将深入探讨Java的访问控制修饰符,包括`private`、`default`(也称为`friendly`)、`protected`和`public`,以及它们如何影响程序的结构和安全性。 #### 访问控制修饰符:封装的基石 访问控制修饰符是Java语言...

    针对Java中的修饰符总结

    Java中的访问修饰限定符有四种:public、private、protected和默认(也就是不写任何修饰符)。 1. public:公共的,任意处都能进行访问 2. private:私有的,只能在当前类中进行访问 3. protected:包访问权限,...

    java的访问修饰符的范围说明

    Java语言中为了控制方法和成员变量的可见性和访问级别,定义了几种访问修饰符:private, protected, public, 和默认(未修饰)访问权限。这些修饰符决定了不同类之间的访问能力,以保证类的封装性和安全性。接下来,...

    【IT十八掌徐培成】Java基础第07天-04.权限-public-private-protected-default.zip

    权限-public-private-protected-default”深入讲解了Java中的四种主要访问权限:public、private、protected以及默认(无修饰符)。这四个修饰符对于理解和编写高质量的Java代码至关重要。 1. **public**:公共访问...

    java 四种关系修饰符访问(csdn)————程序.pdf

    Java提供了四种访问修饰符:public、protected、default(无修饰符)和private。了解这些修饰符及其关系对于编写清晰、安全的代码至关重要。 1. **public**:公共访问修饰符,表示该成员可以在任何地方被访问,无论...

    java常用修饰符.doc

    本文主要分析了Java中常见的访问修饰符(public、private、protected、friendly/default)以及非访问修饰符(final、abstract、static、native)。我们将通过具体的例子和解析深入理解这些修饰符的作用。 首先,...

    Java修饰符.pdf

    - `public`、`protected`、`default` 和 `private`:这四个访问修饰符同样适用于方法和变量,与访问权限的规则相同。 - `final`:表示常量或不可变的,用于变量表示其值不能改变,用于方法表示不能被重写。 - `...

    java修饰符的使用.pdf

    非访问修饰符是 Java 语言中修饰类和方法的其他特性的修饰符。非访问修饰符有两种: 1. 抽象类(abstract):abstract 修饰符修饰的类称为抽象类,抽象类是没有具体对象的概念类,不能被实例化。 2. 最终类(final...

    Java四种访问控制修饰符知识点总结

    Java提供了四种访问控制修饰符:public、protected、private、default(默认为空,不加任何修饰)。本文将详细介绍这四种访问控制修饰符的知识点。 一、public访问控制修饰符 public访问控制修饰符是最松的访问...

    Java访问修饰符原理及代码解析

    Java 中有四种访问修饰符,即 public、protected、default 和 private。 1. public 访问修饰符 public 访问修饰符是最宽松的访问修饰符,表示该类、方法或变量可以被所有类访问,无论是否在同一个包中。public ...

    java中protected的权限

    `protected`是Java中四种访问权限之一,它在类的封装和继承中扮演着重要的角色。本篇文章将深入探讨`protected`关键字的含义、用法以及它在实际开发中的应用。 1. `protected`的含义: `protected`是一种中级访问...

    java访问权限修饰符[参考].pdf

    Java语言提供了四种不同的访问权限修饰符:`public`、`protected`、`default`(也称为包私有或包默认)以及`private`。这些修饰符用于控制类、方法、变量等成员的可见性和可访问性。 - **public**:公共访问级别,...

Global site tag (gtag.js) - Google Analytics