Day_07 接口与多态

一、接口
1. 描述:接口解决了Java单继承机制带来的弊端,和类的关系是实现,类与类的关系是继承。如果类实现的多个接口方法相同,只需实现一个。
2. 成员特点:变量默认就是常量(final、static修饰)。成员方法:public 、abstract。为的是抽取类的共性。
3. 接口之间的关系:多继承。根接口(Collection):具有所有接口的共性,同Object和类的关系一样。
4. 优点:
(A):对外提供规则(USB),不论电脑、电视、laptop、鼠标所有的USB接口都是一样的。
(B):降低了程序的耦合性,低依赖。
(C):与抽象类不同的是与类关系不同、抽象类也是类可以有构造方法,但是接口是没有的。相同的是都属于抽取类与类之间的共性。
5. 运动员案例分析
分析过程:由下至上,不断的抽取共性。
实现过程:由下至上,不断实现共性。

二、其他
1. 匿名对象:见名知意,就是没有名字的对象。 测试代码时参数是一个类对象,可以使用匿名对象直接传递(XX ( new Student(int age,String name…))),需要注意栈内存不足问题,可能要调用gc()函数,主动回收垃圾。且使用匿名对象该对象只能使用一次。
2. final修饰符:类被修饰无法被继承,变量修饰要么立即初始化,要么构造函数初始化,且赋值后不能被改变。
3. 多态和重载:这是Java的特点。多态的前提就是继承。
(A) 成员变量:不存在重写,重载的定义是:“参数个数不同、参数类型不同与返回值无关”。使用上转型对象调用子类的变量时:**编译时看左边(父类),运行时看左边。**是调用父类的变量
(B)成员方法:存在重写,**编译时看左边,运行时看右边。**使用上转型对象调用子类方法是可以的,前提是父类必须有。这样解决了很多问题。举个例子:手机类每生产出一个新的手机类(小米、红米etc),就输出他的他的型号生产日期。这样就可以使用上转型对象解决,一个父类就可以调用其所有子类的所继承的方法。
(C)静态成员:**编译时看左边、运行时看左边。**相当于用类直接调用方法与变量。
(D)多态的有缺点:可维护性高、可扩展性。不能直接调用子类的方法,下转型解决。 Animal a = new Dog(); 这样就可以直接调用子类的方法了。

三、类型转换
1. 引用之间的转换
(A):向上转型,由小到大(关系)子类转换为父类。也就是上转型对象的使用,请看前面的其他。 如 Animal a=new Dog();
(B):向下转型,由大到小(关系)父类转子类。需要强制类型转换。如 Dog d= (Dog)a;这里的a是上面的a ,这是不能乱搞的,a必须指向的是Dog();否则违背了道德。
2. 基本数据之间的转换
(A):这里就不重复了,写下数据的范围就好了, byte、char、short–>int—>long–>float–>double。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值