分享

第十天-总结

 樱花梦_张艺馨 2016-10-20

/*
1.形式参数和返回值问题

1)形式参数:
      类名:该类的对象
      抽象类名:该类的子类对象
      接口名:该类的实现类对象
2)返回值类型:
    类名:返回的是该类的对象
      抽象类名:返回的是该类的子类对象
      接口名:返回的是该类的实现类对象
3)链式编程
    对象.方法1().方法2()...方法n();

   这种用法:其实在方法1调用完毕后,应该返回一个对象;
  方法1调用完毕后,应该返回一个对象;
  方法2调用完毕后,应该返回一个对象;
  方法n调用完毕后,可能是对象也可能不是对象;

2、包
1)其实就是文件夹
2)作用:
     A:区分同名的类
     B:对类进行分类管理
        a:按照功能分
        b:按照模块分
3)包的定义:
    package 包名;
    多级包用.分开
4)注意事项:
   A:package 语句必须放在文件中的第一条有效语句
   B:在一个文件中,只能与一个package
   C:如果没有package,默认无包名
5)带包的编译和运行
   A:手动式
   B:自动式
   javac -d . HelloWorld.java
3、导包
 1)多次使用一个带包的类,非常麻烦,这时候,java提供了一个关键字 import
        2)格式:
           import 包名...类名;
        另一种:
            import 包名...*;(不建议)
         3)package import,class顺序
  package > import > class

4、权限修饰符
 1)权限修饰符
                         本类      同一个包下    不同包下的子类     不同包下的无关类
         private        Y
         默认           Y            Y
         protected   Y            Y                          Y
         public        Y            Y                          Y                            Y


 2)这四种权限修饰符在任意时刻只能出现一个
5、常见的修饰符

      1)分类
          权限修饰符:private 默认 protected public 
          状态修饰符:static final
     抽象修饰符: abstract
 2)常见的类及其组成的修饰
  类:默认 public final abstract
   常用的:public 
  成员变量:private 默认 protected public static final
   常用的:public 
  构造方法:private 默认 protected public
   常用的:public
  成员方法:private 默认 protected public static final abstract
   常用的:public
 3)另外比较常见的:
  public static final int X =10;
  public static void show(){}
  public final void show(){}
  public abstract void show();
6、内部类
   1)把类定义在另一个类的内部,该类就被称为内部类
       举例:把类B定义在类A中,类B就被称为内部类
   2)内部类的访问规则
 A:可以直接访问外部类的成员,包括私有。
        B:外部类想要访问内部类成员,必须创建对象
   3)内部类的分类
 A:成员内部类
 B:局部内部类
   4)成员内部类
 A:private为了数据的安全性
 B:static 为了访问的方便性
 成员内部类不是静态的:
  外部类名.内部类名 对象名= new外部类名.new 内部类名();
 成员内部类是静态的:  
  外部类名.内部类名 对象名= new外部类名.内部类名();
   5)成员内部类的面试题 30,20,10
   6)局部内部类
 A:局部内部类访问局部变量必须加final修饰
 B:为什么?
   因为局部变量使用完毕就消失了,而堆内存的数据并不会立即消失。
  所以,堆内存还使用着该变量,而该变量已经没有了。
  为了让该值还存在,就加final修饰。
  通过反编译工具,可以看到,加入final后,堆内存直接存储的是值,而不是变量名。
  7)匿名内部类
 A:是局部内部类的简化形式
 B:前提
  存在一个类或者接口
 C:格式:
  new类名或者接口名(){
   重写方法;
  }
 D:本质:
  其实是继承该类或者实现接口的子类匿名对象
8)匿名内部类在开发中的使用
 在开发的时候,会看到抽象类,或者接口作为参数。
 而这个时候,我们知道实际需要的是一个子类对象,
 如果该方法仅仅调用一次,我们就可以使用匿名内部类的格式简化。
9)匿名内部类的面试题
*/

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多