java接口转型成类_java基础,接口,对象转型,简单工厂设计模式,希望能帮到您!...

读者老爷们大家好,学习如逆水行舟不进则退,图图希望读者老爷们能坚持学习,最好活到老,学到老。还有就是要保持一个读书的好习惯哦~

fb0a07b38cc3a17988395c288b10f4aa.png

好,今天我们的学习目标是java基础里的接口;对象转型;以及简单工厂设计模式。接口里又包括接口概念、语法、规则还有实现类以及对比抽象类。

那么什么是接口,接口的概念又是怎么定义的呢?我们知道,在Java中,只支持单根继承,而且实际设计中,也会弱化继承的使用。那么,如果需要同时继承两个父类,比如:防盗门,需要同时继承门、防盗两个父类,又该如何实现呢?为了解决上面的问题,这里就会引入接口的概念了。接口是常量、抽象方法组成的一种类型,其本质是一种特殊的抽象类,即“把抽象类抽象地更加彻底”。这里的关键字是:interface,它表示的是一种能力。

e9c53173aae809249fda9943eab143d8.png

这里我们看一下接口的一个简单事例:public interface MyIn {int age = 10;void getAge();}那我我们要注意的是接口是将抽象类抽象地更加彻底,不过其中不可以包含变量以及普通方法;接口不可以直接被实例化,也不可以包含构造方法;接口中的常量默认也必须为public static final;接口中的方法默认也必须为public abstract;一个类可以同时实现多个接口,用”,”区分。

fd20b9821aa0b8d8391f6fd593aec101.png

说了很多的定义与事项,接口具体该怎么使用呢?其实接口体现为一种能力,如果需要复用该功能,或者让某个类拥有该能力,只需要使用implements关键字即可,方便功能的扩充、组装等,同时,接口也是一种约束,规范,如果接口规定了“飞”的方法,而猪类实现了这个接口,那么猪也必须得会飞。使子类拥有相同的能力,只不过具体子类有自己的一套实现方式罢了。大家看一下接口使用的事例:interface Runner { public void run();}interface Swimmer{public double swim();}abstract class Animal {public abstract int eat();} class Person extends Animal implements Runner,Swimmer {public void run() {……}public double swim() {……}public int eat() {……}}public class Test {public static void main(String args[]) {Person p = new Person();p.run();p.swim();p.eat();}}

b02748eedc23500ee09b09f687bda246.png

读者老爷们我们来看一下接口和抽象类的对比图,通过这张图,大家可以非常直观的看到其中的关系。

c8acdb8996a56d067167edbc7bd9bfc6.png

对象造型我们称为:casting。也可以称为对象的类型转换。造型前常使用instanceof操作符测试是否可以转换;自动转换:子类到父类的类型转换;强制转换:父类到子类的类型转换,向下转型;无继承关系的对象间无法进行转换。Instanceof的语法则为:对象 instanceof 类|接口,返回boolean值。它的作用就是避免向下转型时,出现转换异常,从而增强代码的健壮性。

f472a31c54d5eeae0778ae3aff2dc42f.png

下面我们看一下第三个知识点:简单工厂模式,也叫静态工厂模式,我们只需要知道要创建哪种类型的产品(例如用int/String/enum指定),不需要关注创建对象的具体过程,降低模块间的耦合。屏蔽底层产品类,以及具体实现,只需要知道哪个工厂可以创造这个产品(不需要知道iphone车间怎么制造,只需要知道有个厂,比如富士康,可以制造就可以了)。

855fa661088995c1f6cbe33ef66eca1a.png

好,总结一下今天的知识点。简单来说就是,接口:接口概念、语法、规则:interface;实现类:implements对比抽象类,多态:多态的常见实现形式型:instanceof;简单工厂设计模式:factory。给大家分享一下图图的个人总结:abstract。 抽象方法:只有方法的声明,没有方法的实现。如果类中有抽象方法,这个类必须是抽象类, 抽象类中,可以有抽象方法,也可以没有抽象方法。 abstract,只能修饰方法,和类,不能修饰属性。抽象类,不能被实例化(不能创建抽象类的对象)。普通类继承抽象类后。要实现抽象类中的抽象方法。静态方法不能被重写,静态方法不能是抽象方法,抽象方法只有被重写之后才能使用。抽象类可以继承抽象类,抽象类也可以继承普通类。 抽象类的子类可以是抽象类。最终的final,修饰变量时,变量称为常量,常量的值不能更改。finale,修饰局部变量,可在声明的时候赋值,也可以先声明,后续再赋值。修饰成员变量(属性)时, 要么在声明的时候赋值。要么在构造方法中赋值。final,修饰方法时 方法不能被重写。 final,修饰类的时候,类不能被继承,不能有子类。常量,固定的数据,用final,statia,修饰的是常量。普通类,可以继承普通类,可以继承抽象类。 可以实现接口。抽象类,可以继承普通类,可以继承抽象类, 可以实现接口。接口, 不可以继承普通类,不可以继承抽象类,可以继承接口,接口和接口只能继承接口。java里有23种设计模式,interface:接口,接口里面不能有属性和普通方法。接口里面只能有常量和抽象方法。写在接口中的属性默认添加public static final 来修饰。写在接口中的抽象方法默认添加 public abstract 来修饰。1.8版本之后可以接口内可以写static 静态方法和default默认方法。接口不能创建对象(不能被实例化)。接口需要创建普通的类实现implements接口(普通类要实现接口中所有的抽象方法)。一个普通的类,可以实现多个接口,imlements+接口,接口,接口,...。接口可以继承接口,但是普通类只能实现接口。

70c42105290162c953155da5aab70b9e.png

读者老爷们都知道,学习是一个枯燥乏味的过程,可是我们并不能因为她的枯燥乏味而放弃学习。图图还是那句话,阳光总在风雨后,希望大家能够坚持自己的学习,与诸君共勉!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值