精华内容
下载资源
问答
  • 实验目的 理解掌握Java类修饰符、访问控制符等;理解熟悉String的equals方法和= =运算符;进一步熟悉面向对象基本概念;熟悉Java中对象声明、创建、访问、参数传值等基本语法;
  • Java通过修饰符控制类,属性和方法的访问权限和其他功能,通常放在语句的最前端。例如:public class className { //body of class } private boolean myFlag; static final double weeks = 9.5; protected static...

    Java通过修饰符来控制类,属性和方法的访问权限和其他功能,通常放在语句的最前端。例如:

    public class className
    {
         //body of class
    }
    private boolean myFlag;
    static final double weeks = 9.5;
    protected static final int BOXWIDTH = 42;
    public static void main(String[] arguments)
    {
      //body of method
    }

    Java的修饰符很多,分为访问修饰符和非访问修饰符。
    访问修饰符也叫访问控制符,是指能够控制类,成员变量,方法的使用权限的关键字。
    在面向对象编程中,访问控制符是一个很重要的概念,可以使用它来保护对类,变量,方法和构造方法的访问。
    Java支持四种不同的访问权限:
    这里写图片描述

    public:共有的

    被声明为public的类,方法,构造方法和接口能够被任何其他类访问。
    如果几个相互访问的public类分布在不同的包中,则需要导入响应public类所在的包。由于类的继承性,类所有的共有方法和变量都能被其子类继承。
    下面的方法使用了共有访问控制:

    public static void main(String[] args)
    {
       //body of method
    }

    Java程序的main()方法必须设置成共有的,否则,Java解释器将不能运行该类。

    protected:受保护的

    被声明为protected的变量、方法和构造方法能被同一个包中的任何其他类访问,也能够被不同包中的子类访问。

    protected访问修饰符不能修饰类和接口,方法和成员变量能够声明为protected,但是接口的成员变量和成员方法不能声明为protected。

    子类能访问protected修饰符声明的方法和变量,这样就能保护不相关的类使用这些方法和变量。

    下面的父类使用了protected访问修饰符,子类重载了父类的bark()方法。

    public class Dog{
        protected void bark() {
            System.out.println("汪汪,不要过来");
        }
    }
    
    class Teddy extends Dog{  // 泰迪
        void bark() {
            System.out.println("汪汪,我好怕,不要跟着我");
        }
    }

    如果把bark()方法声明为private,那么除了Dog之外的类将不能访问该方法。如果把bark()声明为public,那么所有的类都能够访问该方法。如果我们只想让该方法对其所在类的子类可见,则将该方法声明为protected。

    private:私有的

    私有访问修饰符是最严格的访问级别,所以被声明为private的方法、变量和构造方法只能被所属类访问,并且类和接口不能声明为private。

    声明为私有访问类型的变量只能通过类中公共的Getter/Setter方法被外部类访问。

    private访问修饰符的使用主要用来隐藏类的实现细节和保护类的数据。

    下面的类使用了私有访问修饰符:

    public class Dog
    {
      private String name;
      private int age;
      public String getName()
      {
        return name;
      }
      public void setName(String name)
      {
        this.name = name;
      }
      public int getAge()
      {
        return age;
      }
      public void setAge(int age)
      {
        this.age = age;
      }
    }

    例子中,Dog类中的name、age变量为私有变量,所以其他类不能直接得到和设置该变量的值。为了使其他类能够操作该变量,定义了两对public方法,getName()/setName() 和 getAge()/setAge(),它们用来获取和设置私有变量的值。
    this 是Java中的一个关键字
    在类中定义访问私有变量的方法,习惯上是这样命名的:在变量名称前面加“get”或“set”,并将变量的首字母大写。例如,获取私有变量 name 的方法为 getName(),设置 name 的方法为 setName()。这些方法经常使用,也有了特定的称呼,称为 Getter 和 Setter 方法。

    默认的:不使用任何关键字

    不使用任何修饰符声明的属性和方法,对同一个包内的类是可见的。接口里的变量都隐式声明为public static final,而接口里的方法默认情况下访问权限为public。
    如下例所示,类,变量和方法的定义没有使用修饰符:

    class Dog
    {
      String name;
      int age;
    
      void bark()//汪汪叫
      {
        System.out.println("汪汪,不要过来");
      }
    
      void hungry()//饥饿
      {
        System.out.println("主人,我饿了");
      }
    }

    访问控制和继承

    • 父类中声明为public的方法在子类中也必须为public。
    • 父类中声明为protected的方法在子类中要么声明为protected,要么声明为public。不能声明为private。
    • 父类中默认修饰符声明的方法,能够在子类中声明为private。
    • 父类中声明为private的方法,不能够被继承。

    如何使用访问控制符

    访问控制符可以让我们很方便的控制代码的权限:
    • 当需要让自己编写的类被所有的其他类访问时,就可以将类的访问控制符声明为 public。
    • 当需要让自己的类只能被自己的包中的类访问时,就可以省略访问控制符。
    • 当需要控制一个类中的成员数据时,可以将这个类中的成员数据访问控制符设置为 public、protected,或者省略。

    展开全文
  • friendly(默认)如果一个类没有访问控制符,说明它具有默认的访问控制特性。这种默认的访问控制权规定,该类只能被同一个包中的类访问和引用,而不能被其他包中的类使用,即使其他包中该类的子类。这种访问特性又...

    Java有许多访问控制修饰符,其中常用的有public,protected,private,friendly.
    private:用 private 修饰的类成员,只能被该类自身的方法访问和修改,而不能被任何其他类(包括该类的子类)访问和引用。因此,private 修饰符具有最高的保护级别。
    friendly(默认)如果一个类没有访问控制符,说明它具有默认的访问控制特性。这种默认的访问控制权规定,该类只能被同一个包中的类访问和引用,而不能被其他包中的类使用,即使其他包中有该类的子类。这种访问特性又称为包访问性。
    protected用保护访问控制符 protected 修饰的类成员可以被三种类所访问:该类自身、与它在同一个包中的其他类以及在其他包中的该类的子类。使用 protected 修饰符的主要作用,是允许其他包中它的子类来访问父类的特定属性和方法,否则可以使用默认访问控制符。
    public 当一个类被声明为 public 时,它就具有了被其他包中的类访问的可能性,只要包中的其他类在程序中使用 import 语句引入 public 类,就可以访问和引用这个类。

    展开全文
  • java的控制符可分为两大,一种是访问控制符,另一种是非访问控制符。我们上文提到的public,private便是访问控制符了。 访问控制符访问控制符的作用是说明被声明的内容(、属性、方法和构造方法)的访问权限 ...
  • Java四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符。 private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰、属性以及...

    Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符。

    private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
    default:即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。
    protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
    public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。
    如图
    在这里插入图片描述

    展开全文
  • Java 通过修饰符控制类、属性和方法的访问权限和其他功能,通常放在语句的最前端。例如: publicclassclassName{ // body of class } privatebooleanmyFlag; staticfinaldoubleweeks=9.5; ...

    Java 通过修饰符来控制类、属性和方法的访问权限和其他功能,通常放在语句的最前端。例如:

    1. public class className {
    2. // body of class
    3. }
    4. private boolean myFlag;
    5. static final double weeks = 9.5;
    6. protected static final int BOXWIDTH = 42;
    7. public static void main(String[] arguments) {
    8. // body of method
    9. }

    Java 的修饰符很多,分为访问修饰符和非访问修饰符。本节仅介绍访问修饰符,非访问修饰符会在后续介绍。

    访问修饰符也叫访问控制符,是指能够控制类、成员变量、方法的使用权限的关键字。

    在面向对象编程中,访问控制符是一个很重要的概念,可以使用它来保护对类、变量、方法和构造方法的访问。

    Java支持四种不同的访问权限:

    修饰符说明
    public共有的,对所有类可见。
    protected受保护的,对同一包内的类和所有子类可见。
    private私有的,在同一类内可见。
    默认的在同一包内可见。默认不使用任何修饰符。

    public:公有的

    被声明为public的类、方法、构造方法和接口能够被任何其他类访问。

    如果几个相互访问的public类分布在不用的包中,则需要导入相应public类所在的包。由于类的继承性,类所有的公有方法和变量都能被其子类继承。

    下面的方法使用了公有访问控制:

    1. public static void main(String[] arguments) {
    2. // body of method
    3. }

    Java程序的main() 方法必须设置成公有的,否则,Java解释器将不能运行该类。

    protected:受保护的

    被声明为protected的变量、方法和构造方法能被同一个包中的任何其他类访问,也能够被不同包中的子类访问。

    protected访问修饰符不能修饰类和接口,方法和成员变量能够声明为protected,但是接口的成员变量和成员方法不能声明为protected。

    子类能访问protected修饰符声明的方法和变量,这样就能保护不相关的类使用这些方法和变量。

    下面的父类使用了protected访问修饰符,子类重载了父类的bark()方法。

    1. public class Dog{
    2.     protected void bark() {
    3.         System.out.println(“汪汪,不要过来”);
    4.     }
    5. }
    6.  
    7. class Teddy extends Dog{  // 泰迪
    8.     void bark() {
    9.         System.out.println(“汪汪,我好怕,不要跟着我”);
    10.     }
    11. }

    如果把bark()方法声明为private,那么除了Dog之外的类将不能访问该方法。如果把bark()声明为public,那么所有的类都能够访问该方法。如果我们只想让该方法对其所在类的子类可见,则将该方法声明为protected。

    private:私有的

    私有访问修饰符是最严格的访问级别,所以被声明为private的方法、变量和构造方法只能被所属类访问,并且类和接口不能声明为private。

    声明为私有访问类型的变量只能通过类中公共的Getter/Setter方法被外部类访问。

    private访问修饰符的使用主要用来隐藏类的实现细节和保护类的数据。

    下面的类使用了私有访问修饰符:

    1. public class Dog{
    2.     private String name;
    3.     private int age;
    4.     public String getName() {
    5.         return name;
    6.     }
    7.     public void setName(String name) {
    8.         this.name = name;
    9.     }
    10.     public int getAge() {
    11.         return age;
    12.     }
    13.     public void setAge(int age) {
    14.         this.age = age;
    15.     }
    16. }

    例子中,Dog类中的name、age变量为私有变量,所以其他类不能直接得到和设置该变量的值。为了使其他类能够操作该变量,定义了两对public方法,getName()/setName() 和 getAge()/setAge(),它们用来获取和设置私有变量的值。

    this 是Java中的一个关键字,本章会讲到,你可以点击  预览。

    在类中定义访问私有变量的方法,习惯上是这样命名的:在变量名称前面加“get”或“set”,并将变量的首字母大写。例如,获取私有变量 name 的方法为 getName(),设置 name 的方法为 setName()。这些方法经常使用,也有了特定的称呼,称为 Getter 和 Setter 方法。

    默认的:不使用任何关键字

    不使用任何修饰符声明的属性和方法,对同一个包内的类是可见的。接口里的变量都隐式声明为public static final,而接口里的方法默认情况下访问权限为public。

    如下例所示,类、变量和方法的定义没有使用任何修饰符:

    1. class Dog{
    2.     String name;
    3.     int age;
    4.  
    5.     void bark(){  // 汪汪叫
    6.         System.out.println(“汪汪,不要过来”);
    7.     }
    8.  
    9.     void hungry(){  // 饥饿
    10.         System.out.println(“主人,我饿了”);
    11.     }
    12. }

    访问控制和继承

    请注意以下方法继承(不了解继承概念的读者可以跳过这里,或者 预览)的规则:

    • 父类中声明为public的方法在子类中也必须为public。
    • 父类中声明为protected的方法在子类中要么声明为protected,要么声明为public。不能声明为private。
    • 父类中默认修饰符声明的方法,能够在子类中声明为private。
    • 父类中声明为private的方法,不能够被继承。

    如何使用访问控制符

    访问控制符可以让我们很方便的控制代码的权限:

    展开全文
  • Java 通过修饰符控制类、属性和方法的访问权限和其他功能,通常放在语句的最前端。例如: public class className { // body of class}private boolean myFlag;static final double weeks = 9.5;protected ...
  • Java访问控制修饰符

    千次阅读 2018-08-24 13:52:37
    Java中,可以使用访问控制符来保护对、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。 default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:、接口、变量...
  • 访问控制符

    2016-09-19 20:51:37
    访问控制符: public protect 默认 private 访问控制符主要针对外部访问而言,在一个的内部所有成员之间可以相互访问,访问控制符是透明的。 public: 可以在任何地方进行访问,不受任何约束; protected: ...
  • Java的访问控制符

    2021-01-20 03:42:52
    java的访问控制符分为两访问控制符,属性和方法的访问控制符。  1. 访问控制符有两种:public, default(默认的,什么都不用写)  default是包内访问控制符。  当然对于内部还可以static修饰,...
  • 上章讲了访问控制符,这章开始讲非访问控制符。 java中的非访问修饰符的作用各不一样,据我所知常用的六种: static final abstract synchronized volatile transient 今天我们只讲前三种,后面三种等我们讲到线程...
  • 应该使用下面的哪些修饰符 获得需要的访问控制。 A.public B.no modifier C.protected D.private 【试题分析】Java 4 种访问类型,分别为 public、protected、default 和 private。其中 public 变量 ...
  • 权限访问控制符

    2019-07-19 19:36:00
    Java中使用“访问控制符”来控制哪些细节需要封装,哪些细节需要暴露的。 下面详细讲述它们的访问权限问题,如下表所示: 访问权限修饰修饰符 同一个 同一个包 子类 所有 private * ...
  • 在Java中,访问控制修饰决定了一个类是否可以使用其它类中的某个域或者调用其它类中的某个方法,访问控制修饰符有两种层级: top level,修饰类public和package-private(也就是没显式指定修饰时的类型) ...
  • 定义主类的头时可以使用的访问控制符有哪些? 备选答案: A : public B : protected C : final D : abstract E : private     B和E是不允许的...
  • Java非访问控制修饰符

    千次阅读 2018-08-24 17:48:22
    static 修饰,用来修饰类方法和类变量。 final 修饰,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。 abstract 修饰,用来创建...
  • 访问控制修饰符

    2019-10-30 21:34:42
    访问控制修饰符 4种访问控制修饰符 public protected (default) private public protected (default) private 同一个内 √ √ √ √ 同一个包不同 √ √ √ × 不同包下(没有任何关系) √ × × ...
  • 访问修饰符

    2018-03-19 13:26:30
    Java语言中的访问权限控制符有public.protected.default.private四个,在定义时,访问控制修饰符只能一个。每个Java程序的主类都必须是public,主类必须具有文件名称相同的名字。 在体定义时用到了及其...
  • java访问控制修饰符

    2016-12-16 20:24:52
    Java中,可以使用访问控制符来保护对、变量、方法和构造方法的访问。Java支持4种不同的访问权限。
  • 访问修饰符控制级别

    千次阅读 2014-10-20 09:42:45
    访问修饰符可以修饰成员变量和方法,也可以修饰类。它限制了被修饰者的可用范围。 ...Java提供了3个访问控制符:public、protected、public,另外还有一个不加任何访问控制符的默认访问控制级别。
  • Java 访问控制符 修饰符 详解

    千次阅读 2011-08-05 22:26:24
    1.接口  接口是描述一个对外公布的方法签名,所有的对象都能访问到,因此它的属性和方 法不能违背接口的这个本质概念。所以接口的属性强制为public static final ...任何手动设置这几个修饰符,必
  • 访问控制修饰符 默认的,也称为default,在同一包内可见,不使用任何修饰符;私有的,以private修饰符指定,在同一内可见;共有的,以public修饰符指定,对所有可见;受保护的,以protected修饰符指定,在...
  • Kotlin -- 访问控制修饰符

    千次阅读 2018-03-02 18:12:38
    Kotlin – 访问控制修饰符 public by default  和Java一样,在Kotlin中拥有public、protected、... 在kotlin中,还增加了一层访问控制,就是internal修饰符,被internal修饰意味着只在模块中可见。模块是K...
  • 访问控制符有:抽象类修饰符 abstract ;最终类修饰符 final 1、公共类修饰符public: Java 语言中 的可访问控制符只有一个: public 即公共的。每个 Java 程序的主类都必须是 public 作为公共工具供其它...
  • 四种访问控制修饰符

    千次阅读 2018-03-24 14:16:33
    public: 对外公开,可以在任何地方访问;protected:当前包下及子类可以访问;默认:没有访问控制修饰符,同一个包中可以访问;private:只有当前可以访问
  • 很多书上对于访问控制修饰符都是如下描述的: 各种修饰符的范围: 公开级别:用public修饰,对外公开。 受保护级别:用protected修饰,向子类及同一个包中的公开。 默认级别:没有访问修饰符,向同一个...
  • 访问控制符的作用是说明被声明的内容(、属性、方法和构造方法)的访问权限,就像发布的文件一样,在文件中标注机密,就是说明该文件可以被那些人阅读。 访问控制在面向对象技术中处于很重要的地位,合理的使用访问...
  • java、对象、成员 package、import、访问修饰控制符 接口和抽象 细心总结,解惑上述所引起的一些困惑

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 109,855
精华内容 43,942
关键字:

修饰类的访问控制符有哪些