黑马程序员技术交流社区

标题: Java0618基础班九天手敲笔记(2) [打印本页]

作者: jkdong    时间: 2015-7-1 22:59
标题: Java0618基础班九天手敲笔记(2)
接口:虽然可以简单理解为所有方法都是抽象的只制定了规则
    接口所有的方法都是抽象的
    类用class表示,接口用interface表示
    interface Animal
    {
        public abstract void eat();
    }
    接口怎么用
        必须有具体的类来实现(implament)
            class 类名 implement 接口名
            {
            
            }
        举例:
            class Cat implement Animal
            {
                public void eat();//abstract加不加都一样
                {
                    Sop("eat");
                }
            }
            
        接口多态
            Animal a = new Cat();
            
    格式
        interface 接口名{}
        实现类(子类)实现接口的格式
            class 类名 implement 接口名
            {
                重写接口中的抽象方法;
            }
    类与类是继承关系,接口与类是实现关系
    接口可以看作一个特殊的抽象类
   
    接口基本特点
        接口是是抽象的不能被实例化
        接口中的方法
            要么被子类重写,要么子类也是抽象类
    接口成员特点:只有常量和抽象方法
        成员变量:接口中只有常量
                因为接口的成员变量有默认修饰符:public static final
                推荐:永远自己给出修饰符
        构造方法
            接口是没有构造方法的
                接口是静态的不需要对数据进行初始化,没有构造意义            
                ps:任何类如果没有要继承的父类,那么就继承自object类
        成员方法
            接口中的方法都是抽象的
            因为接口中的成员方法:public abstract
                推荐:永远自己给出修饰符
               
        类和接口的关系
            类与类:
                继承关系,只能单继承,可以多重(层)继承
            类与接口
                实现关系,可以单实现,也可以多实现
                并且还可以在继承一个类的同时,实现多个接口
            接口与接口
                继承关系,可以单继承也可以多继承
                    同名的抽象方法(没有内容)不会出现调用不明确
            
            所有类都直接或者间接的继承自Object类,Object是超类
               
            为什么所有类的构造方法都默认调用父类的无参构造?   
                所有类都直接或者间接的继承自Object类,而且Object类只提供了无参构造。
            情况一:如果其他类直接继承Object类,并且假设构造方法默认调用父类的带参构造的话,会因为Object类没有带参构造而出错。
            情况二:如果A类继承于B类,如果B类没有手动定义构造方法,系统会默认提供一个无参构造,假设构造方法默认调用父类的带参构造的话,
                    A类调用B类的带参构造,B类没有,也是会报错的。但是调用B的无参构造就没有问题。
        
        接口的思想的特点
            接口是对外暴露的规则:比如USB口的规格
            接口是程序的功能扩展:比如电脑要提供多个USB
            接口的出现降低耦合性(类与类的关系)(相对于继承):比如大医院和小诊所
                让类与类的关系减弱一个类的改变对其他类的影响变弱:
                    ps:内聚(自己完成功能的能力):
            接口可以用来多实现:尽可能抽象
                接口与类之间是实现关系,而且类可以继承,一个类同时实现多个接口
                接口与接口是继承关系,可以是多继承也可以是单继承:
        
        接口和抽象类特点
            成员特点:
                抽象类
                    成员变量:可以是变量也可以是常量
                    构造方法:有构造方法,
                            用于子类访问父类数据前,对父类数据进行初始化
                    成员方法:可以有抽象方法也可有非抽象的方法
                            抽象方法是为了要求子类做什么
                            非抽象提高代码复用,让子类继承
                接口
                    成员变量:只能是常量,默认修饰符:public static final
                    成员方法:只有抽象方法,默认修饰符:public abstract
            关系特点:
                类与类:继承关系,只能单继承,多重继承
                类与接口:
                    实现关系,可以单实现,也可以多实现
                    还可在继承一个累的额同时实现多个接口
                接口与接口:
                    继承关系,可以单继承也可以多继承
            设计理念
                抽象类被继承,这个类中定义的是整个继承实现的共性内容
                    体现:is a
                接口被实现,这个接口中定义的是整个体现的扩展内容
                    体现:like a
            
            案例
                乒乓球运动员和教练//抽象为人类
                篮球运动员和教练//抽象为人类
                为了出国交流,乒乓球运动员和教练需要说英语。//定义接口
                请你用所学知识,分析这里应该有哪些类,抽象类,接口。
            分析
                由具体到抽象
            实现
                由抽象到具体
            使用
                使用具体的
               
            敲代码时要敲一段测一段,代码是该出来的,不是敲出来的
            
            
多态
抽象类
接口

作者: li520    时间: 2015-7-1 23:28
顶个贴子




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