黑马程序员技术交流社区

标题: 面向对象,最后一天 [打印本页]

作者: 白马程序猿    时间: 2015-7-17 22:13
标题: 面向对象,最后一天
1.回顾
多态是什么
                对象在不同时刻表现出来的不同状态
        父类子对象
        前提:        继承
                重写
                父类引用指向子类对象
        变量、方法
                变量:编译运行都在左边
                方法:编译左,运行右
抽象类
                抽象方法:有方法声明,没方法体
                有抽象方法的类叫抽象类
        基本特点:
                1.不能被实例化
                2.抽象类不一定有抽象方法,有抽象方法一定是抽象类
                3.子类继承抽象类,要么子类抽象,要么重写所有抽象方法
        成员特点:
                1.成员:可以变量,可以常量
                2.构造:为了子类访问父类成员前进行初始化
                3.方法:抽象,费抽象
接口
        所有方法都是抽象的,就叫接口
        基本特点
                1.不能被实例化
                2.方法全抽象
        成员特点:(无构造)
                1.变量:都是常量 public static final
                2.方法:只能抽象 public abstract
        共存  abstract --- private final static
抽象与接口的区别
        1成员特点
        2关系特点
        3设计理念
                抽象类定义的是系统的共性内容,is a
                接口定义的是系统的扩展功能,like a
---------------------------------------------------
包:其实就是文件夹,用于区分相同的类名
        格式:  package 包名(全部小写)
        顺序  package import class
        带包的类怎么用 :
                方式1;
                1.javac生成class文件
                2.手动建包
                3.把class文件放进包中
                4.java命令
                        :要带路径
                方式2:
                编译时自动建立包 import
                1.javac -d . *.java当前目录建包
                2.java  带包名的类名
权限修饰符:        成员变量:private
                成员方法: public
                构造方法: public (工具类和单例模式除外)
        所有类都public ,一个java文件只写一个类
        如果发现API的一个类没有提供构造方法
                1.所有方法静态,类名调用
                2.对外提供公共访问方法,返回本类对象
内部类:  一个类在另一类中
        位置:        成员       
                局部
        特点:
                内部类可以直接访问外部成员
                外部类访问内部类需要建对象
        内部类的使用:       
                格式:外部类名.内部类目 变量名 = 外部类对象.内部类对象
        内部类修饰:
                成员:private安全 static类名调用
                局部: 访问外部类的局部变量,该变量必须要final,要求变量跟class生命周期一样
内部类class文件
        $直接连内部类是成员内部类
        $1后边跟内部类是局部内部类
匿名内部类
        定义:没有名字的局部内部类
        前提:必须有一个抽象类或接口
        格式:
                new 类名、接口名()
                {
                        重写方法
                        定义新方法
                };  .show();
                是一个继承了类或实现了接口的匿名类对象
        什么时候使用:
                1接口或抽象类中的方法在3个以下的时候,考虑
                2一个方法接收的参数是抽象类或接口的时候
                //多态
                接口名 变量名 =        new 类名、接口名()
                                {
                                        重写方法
                                        定义新方法
                                };


回顾:
重写注意:1子类不能重写父类的私有方法
          2子类不能缩小父类的访问权限
          3静态只能访问静态
               
       
作者: liu45495284    时间: 2015-7-18 00:01
不错不错




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2