面向对象(接口 ,多态)

接口

(1)当抽象类中的方法都是抽象的时候,java就提供了一种新的表现形式:接口 ,接口是功能的集合 接口不能创建对象(2)格式 父接口:public interface Tnter{

}子类:public class interImp implements Itner{

}

接口的使用1.接口不能创建对象2.定义实现类来实现接口实现的关键字 implements3.重写抽象方法 4.创建实现类对象 调用方法

接口的特点1.不需要被abstract 修饰2.类实现接口,可以单实现 还可以多实现3.接口可以继承接口,可以单继承也可以多继承4.接口与父类的功能可以重复,均代表要具备某种功能接口的成员特点成员变量 静态常量 固定修饰符 public static final 无论写不写 挑着写 都是这个修饰符 不变成员方法 固定修饰符 public abstract无论写不写 挑着写 都是这个修饰符 不变抽象类和接口的区别1.成员的区别抽象类:成员变量: 可以是变量,也可以是常量构造方法:有构造方法,用于子类实例化使用成员方法:可以是抽象的,也可以是非抽象的接口:成员变量:只能是常量默认修饰符:public static final

成员方法:只能是抽象的默认修饰符:public abstract

推荐:默认修饰符请永远自己手动给出2.类和接口的关系区别 类与类:继承关系,只能单继承,可以多层继承

类与接口:实现关系,可以单实现,也可以多实现类还可以继承一个类的同时实现多个接口

接口与接口:继承关系,可以单继承,也可以多继承3.体现的理念不同

抽象类里面定义的都是一个继承体系中的共性内容接口是功能的集合是一个体系额外的功能,是暴露出来的规则

一切使用父类/接口引用的地方 都可以传入其子类/实现类对象

多态同一个对象,在不同时刻体现出来的不同的状态举例:水(水,冰,水蒸气) 猫(猫,动物)前提:A: 有继承或者实现关系B: 有方法的重写C: 有父类的引用指向子类对象多态中的成员使用特点Fu fz=new Zi();多态时 所有表现形式都是父类的表现形式只有调用方法时,运行的是子类重写的方法1.成员变量编译看左边 运行看左边2.成员方法编译看左边 运行看右边

 1         class Fu{ 2             int num=4; 3             void show(){ 4                 system.out.println("showFu") 5             } 6  7         } 8         class Zi extends Fu{ 9 10             int num=5;11             void show(){12                 system.out.println("showZi");13             }14         }15         class T{16             public static void main(String args[]){17                 Fu f=new Zi();18                 system.out.println(f.num);19                 f.show();20             }21         }

多态中的转型1.向上转型把子类对象赋值给父类(接口)的引用 自动类型提升 int a=0; double b=a;Fu fz=new Zi();2.向下转型把父类(接口)的引用强制转换成子类对象double b=10.0;int a=(int)b;Fu fz=new Zi();Zi zi=(Zi)fz;注意:Fu fu=new Fu()不能向下转型 会报ClassCastException类型转换异常

多态的好处及弊端1.好处提高了程序可维护性和可扩展性2.弊端不能适用子类特用内容要想使用,要么向下转型,要么重新创建子类对象多态的三种形式1.具体的类多态 父类 变量名 =new 子类()2.抽象类多态 父抽象类 变量名=new 子类()3.接口多态 接口 变量名 =new 实现类()instanceof关键字格式:对象名 instanceof类名返回值:true false作用:判断指定的对象 是否为给定类创建的对象Animal a1=new Cat();Animal a2=new Dog();method(a1)public static void method(Animal a){

if(a instanceof Cat){向下转型调用猫特有的方法  }}

以上就是面向对象(接口 ,多态)的详细内容,更多请关注其它相关文章!

漫过心际的孤独,早已蔚然成冰,而你是这个季节里最美的音符。

面向对象(接口 ,多态)

相关文章:

你感兴趣的文章:

标签云: