瑞翼工坊项目纪实(十)

作者:738b71676587 — 已发布 2018/11/07 15:15:00 GMT+0, 上次修改时间: 2022-05-21T08:04:45+00:00
2018年11月7日晚19:00,瑞翼工坊的课程——《JAVA-接口》以及《多态与转型》准时开课啦!本次教学以“对话式”教学分别由赵乃贤同学和李书奥同学为主讲,两位小老师以风趣幽默的教学风格和扎实的学术底蕴给同学们带来一场知识的洗礼。

接下来看一下这节课都学到了哪些知识吧!

《JAVA-接口》主要知识点

接口的定义:使用关键字interface来定义接口

interface Printable{

final int MAX = 100;

void add(); //抽象方法

float sum (float x , float y);

}

为什么要使用接口?因为要克服java的单继承体系。

(3)接口与类的关系

    接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。

    接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类是描述对象的属性和方法。而接口却是包含类要实现的方法。

    除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。当类要实现接口中的方法时候,若这个类不是抽象类的话,这个类就要去实现接口中所有的方法。

    接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在Java中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。

接口所有的属性都是public static final的;所有的方法都是默认public。一个类可以定义多个接口。

接口的特点

    1.权限是public。

    2.一个接口可以使用extends来继承其他接口,称为父接口,它将继承父接口中的变量和方法,一个接口可以有多个父接口,各父接口用“ ,” 相隔。

    3.接口中的方法不能用static final 来修饰,接口是用来给别人实现的,所以不能是 static ,也不能是final 修饰,对于其声明的方法,也不能用static 或final来修饰,只能public,因为static 和 final 修饰的 不能被继承,对于其成员变量,却只能是public static final 类型,并且需要赋值。

    4.接口中只能进行方法的声明,没有构造函数,接口就只有声明,如果有具体的实现就不叫接口了。为的就是了让别人实现自己。电脑要有由键盘,鼠标,显示器等组成,并没有具体规定的键盘显示器的尺寸品牌等,所以,三星 联想 等都各自实现了这个电脑规范(接口),也就是说满足了电脑规范所定义的要有键盘,鼠标,显示器等。

接口的实现

    在Java中用类来实现接口中的方法,使用implements来声明这个类的接口。

重写接口的方法

    非抽象类实现接口需要重写所有方法。

接口的回调

    接口声明变量:Com com;Com为接口名 com为变量名

用实现接口的类创建的对象来调用类中的发放和类实现接口的方法

《多态与转型》的主要知识

多态的概念

    同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。简单的说:就是用基类的引用指向子类的对象。

    重载式多态:也叫编译时多态,也就是说这种多态再编译时已经确定好了。在调用这种重载的方法时,通过传入不同的参数最后得到不同的结果。

    重写式多态:也叫运行时多态。也就是说,只有程序运行起来,你才知道调用的是哪个子类的方法。 这种多态通过函数的重写以及向上转型来实现。

多态的条件

    继承的存在:继承是多态的基础,没有继承就没有多态。

方法的重写:子类对父类中某些方法重新定义,再调用时就会调用子类的重写的方法。

    向上转型:父类引用变量指向子类对象。

工坊10-2.jpg

向上转型需要注意的问题

    向上转型时,子类单独定义的方法会丢失,如上面Dog类中定义的run方法,当animal引用指向Dog类的实例时是访问不到run方法的,animal.run();会报错。子类引用不能指向父类对象。Cat c = (Cat)new Animal(); 语句会报错。

向上转型的好处 

     减少重复代码,使代码变的简洁,提高系统扩展性。

向下转型    

    向下转型的前提是父类对象指向子类对象,也就是说,向下转型之前,它得先向上转型。而且向下转型只能转型为本类对象。

继承链中对象方法调用的优先级

    当父类对象引用变量指向子类对象时,被引用的类型决定调用谁的成员方法,引用变量类型决定可调用的方法。如果子类中没有覆盖该方法,那么会去父类中寻找。

本次瑞翼工坊的课堂充斥着弄弄的学习氛围,两位主讲人对大数据知识都有着深刻的理解,是同学们学习的榜样,同学们通过他们的讲解牢牢地掌握了培训的学术背景及技术由来,并能说出相关培训的大致内容。两位主讲人尽职尽责,倾囊相授,精心准备课堂内容。“书山有路勤为径,学海无涯苦作舟”,同学们更上一层楼,是我们的教学目标,我相信各位同学通过努力,一定可以学到更多的专业知识。