zoukankan      html  css  js  c++  java
  • 权限修饰符

    /** 方法的构成:
     *      [权限修饰符列表][别的修饰符列表] 返回值数据类型 方法名 (参数列表){
     *          运行体;
     *          return 返回值;
     *      }
     *  *****!!!!! : 静态变量和静态方法 :
     *                      除了private 在本类中可以调用使用,在别的类都不行
     *                      除了default 在同一个包中可以,别的都不行   就是继承也不行
     *                      别的都能,import导类  然后可以直接类名调用了
     *
     *  *****!!!!! : 成员变量和成员方法 :
     *                      除了private(私有的,外部不能直接访问的) 在本类中可以调用使用,在别的类都不行
     *                      除了default(默认的,没有权限修饰符的,会默认有default) 包内修饰符 在同一个包中可以,别的都不行    就是继承也不行
     *                      再就是protected(受保护的)继承修饰符  要么在同一个包中,用父类的引用去调用, 要么就有继承关系  前提是得用子类的对象引用去直接调用,也可以看做是继承过来了,(用子类引用去调用,没改变父类的权限,只是在子类调用的,)
     *  ----------------静态变量的访问权限
     *                              public    private     protected   default
     *  当前包同一个类              可以      可以        可以        可以
     *
     *  当前包里面别的类            可以      不可以      可以        可以
     *
     *  别的包里别的类              可以      不可以      可以        不可以
     *
     *  自己包继承关系的类          可以      不可以      可以(V)     可以(V)
     *
     *  从别的包里有继承关系的类    可以      不可以      可以(V)     不可以(V)   
     *
     *  静态变量:default跨包就不可以,private都不可以
     *
     *
     *  ----------------静态方法的访问权限
     *                              public    private     protected   default
     *  当前包同一个类              可以      可以        可以        可以
     *
     *  当前包里面别的类            可以      不可以      可以        可以
     *
     *  别的包里别的类              可以      不可以      可以        不可以
     *
     *  自己包继承关系的类          可以      不可以      可以(V)     可以(V)   
     *  从别的包里有继承关系的类    可以      不可以      可以        不可以(V)   
     *
     *  静态方法:default跨包就不可以,private都不可以
     *
     *
     *  PPP01 继承于Teacher,PPP01是个Teacher吗? 所以可以直接调用父类的方法,跟继承没有关系
     *      继承归继承,调用归调用
     *  但是PPP01中有了一个和父类相同的静态变量和静态方法,只是代表父类和子类都有一个同名的静态变量和静态方法,和继承没关系
     *      父类归父类,子类的归子类
     *      调用的父类调用就是调用父类的,子类调用就是调用子类的吧,各不相干
     *
     *  这里失效是谁:protected:可继承的访问权限,
     *  包类权限仍然管用
       ----------------成员变量的访问权限
     *                              public    private     protected   default
     *  当前包同一个类              可以      可以        可以        可以
     *
     *  当前包里面别的类            可以      不可以      可以        可以
     *
     *  别的包里别的类              可以      不可以      不可以      不可以
     *
     *  自己包继承关系的类          可以      不可以      可以(V)     可以(V)
     *
     *  从别的包里有继承关系的类    可以      不可以      可以(V)     不可以(V)   
     *
     *  protected:如果跨包的话,必须有继承关系才可以.自己包可以直接访问不影响
     *
     *
     *  成员变量:default跨包就不可以,protected主要作用是别的包有继承关系就可以,自己包继承不继承都可以
     *  这里有个要点:是在实例化子类变量的时候,可以访问父类的成员变量,这才是值可继承访问权限
     *  如果在子类中,实例化父类的对象,这个时候,访问权限不变
     *
     *
     *  ----------------成员方法的访问权限
     *                              public    private     protected   default
     *  当前包同一个类              可以      可以        可以        可以
     *
     *  当前包里面别的类            可以      不可以      可以        可以
     *
     *  别的包里别的类              可以      不可以      不可以      不可以
     *
     *  自己包继承关系的类          可以      不可以      可以(V)     可以(V)   
     *  从别的包里有继承关系的类    可以      不可以      可以        不可以(V)   
     *
     *  default:只要是同一个包里面,不继承也可以实例化访问到,叫包内访问权限
     *  protected:只要是有继承关系的子类中,我们可以通过实例化子类访问父类成员变量和成员属性
     *          叫继承的访问权限(只要有继承,在不在本包都可以)
     *  可继承的访问权限特指protected,是指我们实例化子类,然后通过子类去访问父类的属性,子类和父类不在一个包也可以
     *
     *  静态变量和静态方法,
     *  --1--:只要是静态的就无所谓继承或者不继承,只要能找到就能访问,除了default跨包.protected包外也能访问
     *
     */

  • 相关阅读:
    xshell的安装及连接linux的使用方法
    linux中yum install 命令无效
    linux-centOS环境下安装jdk8
    centOS不显示ipv4地址的解决办法
    centOS开启和关闭防火墙
    java-分布式-索引
    java-网络通信-索引
    java-中间件
    java-框架-索引
    JVM-索引
  • 原文地址:https://www.cnblogs.com/xrmqbl/p/4735141.html
Copyright © 2011-2022 走看看