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

© zjj5669436182 中级黑马   /  2017-12-9 18:59  /  1406 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

接口和多态
今日所学的内容多数是比较简单的,但是在引用数据作为参数传递的时候,不是很好理解和掌握。多态的实际应用也是一个很大难点。
一、接口
1、接口概述:Java语言给我们提供了一种机制,用于处理继承单一的局限性
关键字(interface )格式:interface 接口名 {}
接口是一个类
2、接口成员特点:
成员方法:只有抽象方法(默认修饰词public abstract
成员变量:只有常量(默认修饰词:public static final
构造方法:没有构造方法
3、接口的实现
关键字(implements
格式 class 类名 implements 接口名,接口名....{ }
4、接口、类中存在的关系
类与类:继承关系(只能单继承和多层继承)
类与接口:实现关系(多实现
接口与接口:继承关系(也是多层继承,多继承关系)
5、优点:
A、打破继承的局限性
B、对外提供规则规范
C、降低程序的耦合性
6、接口与抽象类的区别
抽象类:
成员方法:有抽象方法也可以含有非抽象方法
成员变量:存在常量也可以含有变量
构造方法:有构造方法(用于子类访问父类进行初始化)
接口:
成员方法:只有抽象方法
成员变量:只有常量
构造方法:没有构造方法
7、接口思想
分析:由下至上,向上抽取
实现:由上之下,先实现共性
二、多态
1、多态概述:一个类在不同时刻的不同状态
2、多态的转型:(花木兰从军)
public class HuaAndDid {
        public static void main(String[] args) {
        //向上转型(子类转换成父类)
        Did d = new Hua();
        System.out.println("点名:"+d.name);
        d.cooking();
        //向下转型(父类转换成子类)
        Hua h = (Hua)d;
        h.show();
                h.cooking();
        }
}
class Did {
        String name = "花弧";
        public void cooking(){
                System.out.println("做饭很好吃");
        }
}
class Hua extends Did {
        String name = "花木兰";
        public void cooking(){
                System.out.println("做饭很难吃");
        }
        public void show(){
                System.out.println("绣花");
        }
}
3、多态的编译
成员变量:编译看左边,运行看左边
成员方法:编译看左边,运行看右边
静态方法:编译看左边,运行看左边
4、多态的分类
a:具体类多态
                class Fu {}
                class Zi extends Fu {}                               
                Fu f = new Zi();
        b:抽象类多态
                abstract class Fu {}
                class Zi extends Fu {}
                Fu f = new Zi();
        c:接口多态
                interface Fu {}
                class Zi implements Fu {}
                Fu f = new Zi();
5、多态的优点缺点
优点:父类无法直接访问子类特有的成员方法
缺点:提高可维护性,可扩展性。
6、参数的传递
形式参数:
                类名:需要该类的对象
                抽象类名:需要该类的子类对象
                接口名:需要该接口的实现类对象
返回值类型:
                类名:返回的是该类的对象
                抽象类名:返回的是该类的子类对象
                接口名:返回的是该接口的实现类的对象

3 个回复

倒序浏览
继续努力哦      加油  ....
回复 使用道具 举报
这总结,路过的不得不给个赞
回复 使用道具 举报
加油,骚年,坚持总结,查漏补缺
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马