黑马程序员_包、访问修饰符以及内部类

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

一.包:  

     1.定义包使用关键字:package;    

      1).注意事项:     

        A.package语句必须是java源程序的第一条可执行的代码     

        B.package语句在一个java文件中只能有一个    

        C.如果没有package,默认表示无包名

      2.导入包使用关键字:import;    

      1).注意事项:     

        A.导入到最终的类;     

        B.可以使用通配符:*,只通配包下的类,不包括子包下的其它类;     

        C.在一个类文件中,可以有多条import语句;     

        D.import语句必须在package语句之后,在定义类之前;   

     3.package,import,class有没有顺序关系?    

        有:package-->import-->class  

二.访问修饰符:   

    1.用于限定“类”和“成员”被其它包下的其它类访问的;   

    2.四种访问修饰符:    

        1).public(公有):可以修饰类、成员。可以被任何包下的其它类访问;    

        2).protected(保护):可以修饰成员。可以被同包下的其它类访问。如果在包外只能被子类访问;    

        3).(默认):可以修饰类、成员。只能被包内的其它类访问;    

        4).private(私有):可以修饰成员。只能被类中的其它方法访问;   

    3.类及成员可用的修饰符:    

        1).类:     (默认),public,final,abstract     我们自己定义:public居多   

        2).成员变量:     四种权限修饰符均可,final,static     我们自己定义:private居多    

        3).构造方法:     四种权限修饰符均可,其他不可     我们自己定义:public 居多    

        4).成员方法:     四种权限修饰符均可,fianl,static,abstract     我们自己定义:public居多  

三.内部类:   

    1.成员内部类:    

        1).定义在类体中,作为类的成员;    

        2).可以使用同类“成员方法”相同的修饰符;   

    2.局部内部类:    

        1).定义在某个方法或代码块内部;    

        2).不能使用“访问修饰符”,不能使用static修饰符;可以使用final和abstract    

        3).注意:局部内部类访问“局部变量”,要求局部变量必须是final的(常量);     

            class A{      

                public void show(){       

                     int num = 10;//此变量要求必须为:final       

                     class B{        

                          public void method(){         

                              System.out.println("num = " + num);//编译错误

                                  }       

                           }    

                      }  

                 }   

     3.匿名内部类:    

         1).就是内部类的简化写法。   

         2).前提:存在一个类或者接口      这里的类可以是具体类也可以是抽象类。    

         3).格式:     new 类名或者接口名() {重写方法;}    

         4).本质:     是一个继承了类或者实现了接口的子类匿名对象

 

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

转载于:https://www.cnblogs.com/Erric-Zhou1992/p/4761720.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值