java015:向上转型,向下转型,接口

一,向上转型:
在不同的环境下具有不同的身份
比如我是碧岩人,如果有人不知道,我再说我是陇西人,再不知道了?我说我是甘肃人,还不知道那我只能说我是中国人了,这就是向上转型
注意:
1:发生向上转型后子类独有的方法用不了
2:发生向上转型时,调用的普通方法和new的对象有关,这就是动态调用
3:发生向上转型时,调用的属性和对象的类型有关,这就是静态调用
4:发生向上转型后,调用的静态方法只和类型有关(谁调就是谁)

在这里插入图片描述
二,向下转型:
把不同的身份向下转换
碰到老乡了,你哪的,甘肃的,我也是,我陇西…
1:发生向下转型的前提是先发生向上转型(只有向上转型之后才可以向下转型)
Instanceof:java中的一个运算符,专门用来判断一个对象是不是指定类型,如果是返回true,否则返回false (源码中看到的)
Instanceof的作用:是在你发生向下转型的时候先进行踩点,和试水的
在这里插入图片描述
如果向下转型前,没有向上转型,会有下面错误:
写完不会报错,但是运行的时候会显示类型错误
在这里插入图片描述
三,接口:
可以看做是比抽象类更抽象的一种“类”,接口只是描述应该具备的方法,并没有具体实现。
就是指定标准,指定规则,指定方案,通俗的说,就是给出个规则,让其他类按照这个标准实现功能。
接口的特点:
1:被interface关键字修饰的接口就是一个接口
2:接口中的属性默认都是被public static final修饰的
3:接口中的方法全部都是抽象方法(全部)
4:接口中的抽象方法默认被public, abstract ,static
所以接口的全局变量只能是常量,而且是静态的(默认有public,abstract,static修饰)
接口中的方法只能是抽象方法(public,abstract修饰)

5:接口不能被实例化
6:一个类可以实现多个接口
7:实现一个接口,必须要全部实现里面的抽象方法,否则跟着抽8:接口和接口之间可以多继承
9:接口中可以可以有构造器?
构造器是属于类自己的,不能继承。因为是纯虚的,接口不需要构造器。
接口的作用:
1:解决了单继承问题
2:提高了代码的扩展性

interface P{
 void f1();
}
interface A extends P{
 void f2();
}
interface B extends P{ //接口可以继承
 void f3();
class AB implements P,A,B{  //一个类可以实现多个接口
 public void f3() {  //实现接口里面的所有抽象方法
 }
 public void f2() { 
 }
 public void f1() { 
 }
}

猜你喜欢

转载自blog.csdn.net/weixin_44699728/article/details/89456681
今日推荐