java面向对象上:类的高级概念

8、类的高级概念:

 

       访问修饰符:三种访问修饰符4种情况
       public: 所有的类都可以访问
       protected: 同包和子类可以访问,非子类不能访问
       默认: 同包可以访问
       private: 只有本类能访问
       一般变量我们用private,常量用public。

 

       封装:
       1、组装:定义类,把属性行为放入类中;
       2、信息的隐藏:访问修饰符和方法的定义。
       封装、继承、多态是面向对象编程的三大基本概念,加上抽象就是4大概念。
       get访问器:得到值,没有接受值;
       set修改器:修改值,传参。
       get和set的好处:
       1、类的成员变量可以成为只读或者只写的。
       2、类可以对储存在其成员变量中的内容有一个整体的控制。
       3、类的用户不需要知道类是如何存储数据的。

 

       理解静态成员:全类共享一个值。
       关键字static允许成员变量或方法不与类的特定实例关联。
       静态属性是类属性。静态方法调用静态属性不能加this。
       工具类的工具方法设计成static:不操作属性,只提供功能实现。
       与对象无关的方法可以用static,如ATM机的cash和user属性。
       常量也用Static如:public static final PI=3.1415;
       访问静态成员变量和方法:
       用类名加点,不用创建实例。
       也可以访问main方法:Demo.main(null);
       静态方法不能访问实例成员:
       静态方法不能访问非静态成员变量,只能调用static。非static能访问static。
       因为static是先加载的,static要产生对象才会存在。

 

       静态初始化块:
       static在类加载时加载,在main方法前。
       static{语句}
       实例初始化块:{语句}

       
       内部类:

       编译后是独立的class文件。
       内部类分为成员内部类和局部内部类;
       成员内部类:
       class other{
              class inner{
              }
       }
       静态内部类:
       class other{
              static class inner{
              }
       }
       类名加点访问,无需实例化外部类
       匿名内部类:
       new object(){
              public void metbod21(){
              }
       }.metbod21();
      
       匿名内部类和静态内部类也是成员内部类。
       局部内部类:在方法里面。

 

 

posted @ 2013-05-14 20:17  javawebsoa  Views(190)  Comments(0)    收藏  举报