zoukankan      html  css  js  c++  java
  • Java类的设计----访问控制

    访问控制


    可以对Java类中定义的属性方法进行访问控制----规定不同的保护等级: public、protected、default、private

    //仅在类的内部可以访问.
    private String email;
    //在同一个包内该属性可以被访问.
    String major;
    //在子类中该属性可以被访问, 且该子类可以跨包
    protected int salary;
    //访问权限最高, 无论是否在一个包内, 无论是否是子类都可以被访问.
    public String name;


    访问控制举例(1)

    class Parent {
      private int f1 = 1;
      int f2 = 2;
      protected int f3 = 3;
      public int f4 = 4;
      private void fm1() {
        System.out.println("in fm1() f1=" + f1);
      }
      void fm2() {
        System.out.println("in fm2() f2=" + f2);
      }
      protected void fm3() {
        System.out.println("in fm3() f3=" + f3);
      }
      public void fm4() {
        System.out.println("in fm4() f4=" + f4);
      }
    }

    访问控制举例(2)

    class Child extends Parent { //设父类和子类在同一个包内
      private int c1 = 21;
      public int c2 = 22;
      private void cm1() {
        System.out.println("in cm1() c1=" + c1);
      }
      public void cm2() {
       System.out.println("in cm2() c2=" + c2);
      }
      public static void main(String args[]) {
        int i;
        Parent p = new Parent();
        i = p.f2;   // i = p.f3; i = p.f4;
        p.fm2();   // p.fm3(); p.fm4();
        Child c = new Child();
        i = c.f2;   // i = c.f3; i = c.f4;
        i = c.c1;   // i = c.c2;
        c.cm1();   // c.cm2(); c.fm2(); c.fm3(); c.fm4()
      }
    }

    访问控制分析
    父类Parent和子类Child在同一包中定义时:

  • 相关阅读:
    Python基础——for/while循环
    Python基础——条件判断
    Python基础——字符串
    Python基础——输出[print()]与输入[input()]
    Python编程软件的安装与使用——Windows、Linux和Mac
    Python数据结构之三——dict(字典)
    微信【跳一跳】 opencv视觉识别 + 物理外挂
    tensorflow安装: win10 + RTX2060 + tensorflow1.15.0+ cuda10.0 + VScode
    FreeRTOS 任务与调度器(2)
    FreeRTOS 任务与调度器(1)
  • 原文地址:https://www.cnblogs.com/justdoitba/p/7224616.html
Copyright © 2011-2022 走看看