java基础复习(1)

来源:互联网 发布:为什么叫云计算 编辑:程序博客网 时间:2024/05/17 21:51

1:关于Java中类和方法前面的修饰符

     java中类只能是public、final、abstract来修饰,本身如果不写的话则是(default),default的权限是在和此类在同一个包里才能访问到,而不再同一个包的则不能访问到

     java中的方法可以是public、protected、friendly、private,权限如下图所示

  

   当然方法前面还可以是static了


2:关于一个java文件和多个类之间的关系

      一个.java文件可以写多个类,多个类又分两种情况

    1)包含内部类

          一个类中可以包含多个内部类,而内部类的前面又可以用protected、private等进行修饰了(这是不是和标准的类是不一样的),可以吧内部类当做类中的属性来理解,所以可以用public修饰了

          内部类的可见性问题:

          a):在同一个类中可见性:在同一个类中的所有内部类在这个类中都可以获取到实例

                    方式一 OuterClassName.InnerClassName inner=newOuer().new Inner();

                   方式二 反射获取getInstance

          b):在同一个包中可见性:试图得到private内部类失败,根本得不到内部类的句柄,但是default、public、protected还是可以获取的,并且default、public、protected的类中除private修饰的类或者属性都可以访问。

          c):在不同包中的可见性:new方式和getInnerInstance()方法只能访问public内部类的public成员和public方法;并且public的类中除public修饰的类或者属性都不可以访问。

          综上所述,内部类的权限可以参照类中的属性,把内部类当做类的一个属性,则可以理解了

    2)不包含内部类

          a):一个.java文件可以有或者没有一个public类 其余则必须是default、final、abstract,如果是有一个public的话,则这个public的类名必须和.java文件名一样,如果没有public的话,则可以写任意个类,也不限制类名,类的权限限制没有变化(和1的笔记一样)

         b):在编译后产生的class文件中,仍旧是多个单独分开的class文件


0 0
原创粉丝点击