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在同一包中定义时:

  • 相关阅读:
    MySQL严格模式总结
    python筛选关键字---error
    将pem证书转换成p12格式证书
    ## 游戏网关源码赏析
    pid获取
    顺序io_磁盘队列
    nsq源码阅读3_编译nsqd
    nsq源码阅读2_核心数据结构
    nsq源码阅读1_目录结构
    如何设计Mqtt的Retain?
  • 原文地址:https://www.cnblogs.com/justdoitba/p/7224616.html
Copyright © 2011-2022 走看看