A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 奇峰 中级黑马   /  2015-8-4 21:01  /  358 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1. 回顾
        多态是什么?
                对象在不同时刻表现出来的不同的状态.
               
                父类子对象
               
                前提:
                        1) 要有继承或者实现关系
                        2) 要有方法的重写
                        3) 要有父类(接口)引用指向子类(实现类)的对象.
                       
                变量和方法特点:
                        变量:编译和运行都看左边
                        方法:编译看左边,运行看右边
        抽象类是什么?
                抽象方法:只有方法声明,没有方法体的方法,用abstract关键字修饰.
                包含抽象方法的类就可以被称为抽象类.
               
                抽象类里面还可以包含非抽象方法.
               
                1) 不能被实例化
                2)
                3) 子类继承抽象类, 要么本身抽象, 要么重写父类的所有抽象方法.
       
                成员:
                1) 变量 可以有变量, 可以有常量
                2) 有构造, 目的是用来子类访问父类成员之前对父类的成员进行初始化
                3) 方法: 抽象, 非抽象

        接口是什么?
                interface
                基本:
                        不能被实例化
                        方法全部是抽象
               
                成员:
                        1) 成员变量都是常量, public static final
                        2) 成员方法 只能是抽象的方法, public abstract
               
       
        抽象类和接口的区别?
                1) 成员特点:
               
                2) 关系特点:
               
                3) 设计理念:
                        抽象类定义的是体系的共性内容, 体现的是 is a 的关系
                        接口定义是系统的扩展功能,体现的是 like a 的关系
               
2. 带包类的编译和运行
        java文件中的元素位置顺序.
                package -- import -- class
        package语句必须作为java文件中的第一行非注释语句.(如果有的话)
               
        自动建包:
                编译: javac -d 目录(.表示当前目录) 类名.java
                运行: java 带包名(全路径)的类名
       
        不同包下类的调用和导包:
                例如: 在 com.csdn 包下的类 Test 中使用 cn.itcast 包下的 Demo 类.
                1) 要先编译cn.itcast 包下的Demo类.
                2) 在Test类里面
                        可以使用Demo的全路径类名. 比如 cn.itcast.Demo d = new cn.itcast.Demo();
                        也可以导包(建议)
                                import cn.itcast.Demo;
                                使用的时候 : Demo d = new Demo();
                               
3. 权限修饰符
        public
        protected
        默认
        private
       
        一般使用规则:
                一个java文件中只写一个类.并且public修饰
                成员变量 private
                成员方法 public
                构造方法 public (工具类和单例模式除外 private)
                        如果发现API的一个类没有提供构造方法
                                1) 所有方法静态,使用类名调用
                                2) 它提供了静态的公共的方法,返回了本类的对象.
               
4. 内部类
        一个类定义到另一个类的内部.对于内部的这个类就被称为内部类(嵌套类).
       
        特点:
                内部类可以直接访问外部类的成员,
                外部类想访问内部类的成员必须创建内部类的对象.
               
5. 内部类分类及使用
        分类:
                成员内部类
                局部内部类
        使用:
                内部类使用格式:
                外部类名.内部类名 变量名 = 外部类对象.内部类对象;
                例如: Outer.Inner oi = new Outer().new Inner();
               
        成员内部类
                        修饰符:
                                private  -- 为了安全.
                               
                                static -- 为了方便
                                调用格式:
                                        外部类名.内部类名 变量名 = new 外部类名.内部类名();
                                        例如:Outer.Inner oi = new Outer.Inner();       
               
        局部内部类:
                局部内部类访问外部类的局部变量,变量就需要加final修饰.
                原因:延长变量的生命周期.
               
       
6. 匿名内部类
        没有名字的局部内部类.
       
        前提: 必须有一个类,抽象类或者接口.
       
        格式:
                new 类名或者接口名()
                {
                        // 重写父类或者接口中的方法
                        // 也可以自定义方法
                };
               
        理解:
                匿名内部类的本质其实是继承了类或者实现了接口的匿名子类对象.
               
        应用场景:
                方法接收的形式参数是抽象类或者接口的时候,就可以考虑采用匿名内部类.
       
        也就是说: 把定义实现类和创建实现类的对象放在一块完成了.
       
重点:
        1.
                权限修饰符:
                public protected 默认 private
               
                修饰符:
                static final abstract
               
        2. 匿名内部类的使用       
       
        其他理解即可.
       
       
       
       
       
               
               

1 个回复

倒序浏览
不错,赞一个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马