java接口和多态
来源:互联网 发布:python insert怎么用 编辑:程序博客网 时间:2024/05/24 05:02
一.接口
什么是接口:前期理解 可以理解为一个特殊的抽象类
当抽象类中的方法都是抽象类 那么该类可以通过接口的形式来定义
class:用于定义类
interface:用于定义接口
1.语法:
访问权限修饰符 interface 接口名
{
//全局变量
//抽象方法
}
接口中的成员修饰符是固定的
成员变量:public static final
成员函数: public abstract
如果不写 默认会给加上 只要是定义为接口 interface 那么成员的修饰符是固定的 建议写上
implements:实现
类与接口之间的关系 实现
2.特点:
1.接口是一个特殊的抽象类 特殊在"接口中所有的方法都是抽象的 所有的成员都是常量"
2.允许多实现 弥补了java类类之间单继承的不足 因为接口中没有抽象类中的方法体 所以实现谁都行 不冲突
3.java中允许单继承的同时 实现多个接口
4.接口可以继承接口 也有关系 接口继承接口 一个接口可以继承多个接口 因为都是抽象的
简短版:
1.接口可以用来多实现
2.类与接口之间是实现关系 而且一个类继承一个类的同时 可以实现多个接口
3.接口与接口之间可以有多继承关系
3.接口的好处
他是对外暴露了规则 提高了程序的扩展性
封装是提高了程序的安全性
4.接口的本质
从接口设计的角度而言 接口中定义了一套规则和标准
面向对象三大特征之一 多态
定义:某一事物的多种存在形态
例如:动物中 猫 狗
猫 c = new 猫();
动物 d = new 猫();
多态的前提
1.父类的引用 指向 子类对象
2.必须是类与类之间有关系 要么继承 要么实现
3.子类存在重写
多态的好处
提高了程序的扩展性
多态的弊端
只能使用父类的引用访问父类中的成员
Animal an=new Cat();Animal an=new Animal;
Cat c=(Cat) an;Cat c=(Cat) an;
可以 错误
不能强行将一个动物转成猫 不能讲父类的对象 转成子类的对象
多态转的是父类引用 指向了自己的子类对象时 该应用可以被动提升
也可以被强转 多态至始至终 都是子类对象在做着变化
多态的注意事项:
1.多态下 对成员方法的调用 编译看左边(父类) 运行看右边(子类)
2.多态下 对成员变量的调用 编译看左边(父类) 运行还是看左边(父类)
3.多态下 静态成员变量的调用 编译看左边(父类) 运行看左边(父类)
instanceof
java中instanceof运算符是用来运行时指出对象是否是特定类的一个实例
通过返回一个boolean类型的值来指出
格式:对象 instanceof 类(对象是不是这个类)
true:对象是这个实例
false:对象不是这个实例
不常用 1.当子类有限时
2.当传输类型需要进行其他操作的时候 比如比较
什么是接口:前期理解 可以理解为一个特殊的抽象类
当抽象类中的方法都是抽象类 那么该类可以通过接口的形式来定义
class:用于定义类
interface:用于定义接口
1.语法:
访问权限修饰符 interface 接口名
{
//全局变量
//抽象方法
}
接口中的成员修饰符是固定的
成员变量:public static final
成员函数: public abstract
如果不写 默认会给加上 只要是定义为接口 interface 那么成员的修饰符是固定的 建议写上
implements:实现
类与接口之间的关系 实现
2.特点:
1.接口是一个特殊的抽象类 特殊在"接口中所有的方法都是抽象的 所有的成员都是常量"
2.允许多实现 弥补了java类类之间单继承的不足 因为接口中没有抽象类中的方法体 所以实现谁都行 不冲突
3.java中允许单继承的同时 实现多个接口
4.接口可以继承接口 也有关系 接口继承接口 一个接口可以继承多个接口 因为都是抽象的
简短版:
1.接口可以用来多实现
2.类与接口之间是实现关系 而且一个类继承一个类的同时 可以实现多个接口
3.接口与接口之间可以有多继承关系
3.接口的好处
他是对外暴露了规则 提高了程序的扩展性
封装是提高了程序的安全性
4.接口的本质
从接口设计的角度而言 接口中定义了一套规则和标准
面向对象三大特征之一 多态
定义:某一事物的多种存在形态
例如:动物中 猫 狗
猫 c = new 猫();
动物 d = new 猫();
多态的前提
1.父类的引用 指向 子类对象
2.必须是类与类之间有关系 要么继承 要么实现
3.子类存在重写
多态的好处
提高了程序的扩展性
多态的弊端
只能使用父类的引用访问父类中的成员
Animal an=new Cat();Animal an=new Animal;
Cat c=(Cat) an;Cat c=(Cat) an;
可以 错误
不能强行将一个动物转成猫 不能讲父类的对象 转成子类的对象
多态转的是父类引用 指向了自己的子类对象时 该应用可以被动提升
也可以被强转 多态至始至终 都是子类对象在做着变化
多态的注意事项:
1.多态下 对成员方法的调用 编译看左边(父类) 运行看右边(子类)
2.多态下 对成员变量的调用 编译看左边(父类) 运行还是看左边(父类)
3.多态下 静态成员变量的调用 编译看左边(父类) 运行看左边(父类)
instanceof
java中instanceof运算符是用来运行时指出对象是否是特定类的一个实例
通过返回一个boolean类型的值来指出
格式:对象 instanceof 类(对象是不是这个类)
true:对象是这个实例
false:对象不是这个实例
不常用 1.当子类有限时
2.当传输类型需要进行其他操作的时候 比如比较
阅读全文
0 0
- java多态和接口
- java接口和多态
- 【开始学java】接口和多态
- Java中的接口和多态
- java继承和多态、接口小结
- JAVA关于继承、多态和接口
- java接口和多态的测试
- Java对象多态和接口
- java 详解接口、继承和多态
- Java之接口和多态
- java基础接口和多态
- Java接口 和 接口
- java接口和多继承
- java 继承和多态 抽象类和接口
- java 抽象类和接口和多态的使用
- Java学习笔记之继承和接口(二) 继承和多态、接口
- 接口和多态
- 接口和多态
- Popupwindow弹出窗口
- simpleImageTool又一纯java的简单而功能强的专门图片水印、缩放库,给gif加水印也很简单
- Tree----- 257. Binary Tree Paths(二叉树从根节点开始的所有路径)
- 从工程外读取图片,并显示
- 异或运算的性质
- java接口和多态
- Codevs非难题汇总
- Ucloud 必读
- 解决php的session异步请求堵塞问题(采用xhprof性能分析)
- 【备战秋招Day 10】经典面试题37-40及在线编程题28-30答案
- 基于cef ceflient做二次开发在开发环境部署中遇到过的坑
- wireshark的使用
- python求解LeetCode习题Intersection of Two Linked Lists
- MYSQL优化概述