java基础学习之(一):继承
来源:互联网 发布:淘宝的ip地址是多少 编辑:程序博客网 时间:2024/05/21 06:29
1、子类通过extends继承父类,就可以自动拥有父类中定义的非private的属性和方法。(二者不同包时,子类也不能获得默认级别的。)
2、Java语言不支持多继承。
3、方法重载和方法覆盖。
方法重载要求:名字相同;参数不一致;返回值和修饰符的名字和顺序可以不同。
方法覆盖(8条):基本、权限、异常、静态、抽象。
子类的方法名,参数,返回类型必须与父类的一致;
子类的方法不能缩小父类方法的访问权限,否则将和多态机制发生冲突;
子类抛出的异常必须和父类的异常相同或是其子类异常;
父类的静态方法不能被子类覆盖为非静态方法;
父类的非静态方法不能被子类覆盖为静态方法;
子类和父类不能定义同名的静态方法;
子类可以实现父类的抽象方法或重新定义它;
抽象子类可以继承非抽象父类,可以将父类的非抽象方法重新定义成抽象方法。
4、多态
字面含义是:Animal animal中animal既可以是Animal,也可以是Dog,还可以是Creature。实质是:Java允许某个类型的引用变量引用子类的实例
animal-->Creature是向上转型(Creature creature = animal;)
animal-->Dog是向下转型Dog dog = (Dog)animal;
对于多态,调用成员变量和成员函数的原则:Animal animal = new Dog();
animal调用方法时,只有实例方法是看右边(Dog),其他全看左边(Animal)。
2、Java语言不支持多继承。
3、方法重载和方法覆盖。
方法重载要求:名字相同;参数不一致;返回值和修饰符的名字和顺序可以不同。
方法覆盖(8条):基本、权限、异常、静态、抽象。
子类的方法名,参数,返回类型必须与父类的一致;
子类的方法不能缩小父类方法的访问权限,否则将和多态机制发生冲突;
子类抛出的异常必须和父类的异常相同或是其子类异常;
父类的静态方法不能被子类覆盖为非静态方法;
父类的非静态方法不能被子类覆盖为静态方法;
子类和父类不能定义同名的静态方法;
子类可以实现父类的抽象方法或重新定义它;
抽象子类可以继承非抽象父类,可以将父类的非抽象方法重新定义成抽象方法。
4、多态
字面含义是:Animal animal中animal既可以是Animal,也可以是Dog,还可以是Creature。实质是:Java允许某个类型的引用变量引用子类的实例
animal-->Creature是向上转型(Creature creature = animal;)
animal-->Dog是向下转型Dog dog = (Dog)animal;
对于多态,调用成员变量和成员函数的原则:Animal animal = new Dog();
animal调用方法时,只有实例方法是看右边(Dog),其他全看左边(Animal)。
0 0
- java基础学习之(一):继承
- java基础之继承 (一)
- java 基础(一)继承
- Java基础之(继承)
- Java学习基础之继承、抽象、接口
- JAVA基础学习知识之 继承
- Java学习之继承与引用(一)
- 学习java之基础一
- Python之基础---继承(一)
- Java基础之继承
- JAVA基础之继承
- JAVA基础之继承
- java基础之继承
- java基础之----继承
- java基础之继承
- java基础之继承
- Java基础之继承
- java基础之【继承】
- 数论中的若干定理
- redis 安装 windows
- apache/nginx
- [考试维护]修改代码的感受
- 2156 分数矩阵
- java基础学习之(一):继承
- Binary Tree Level Order Traversal II
- Redis Sentinel:集群Failover解决方案
- 欢迎使用CSDN-markdown编辑器
- 不用翻墙更新SDK
- iOS IAP恢复
- Linux终端配置输入输出(termios)函数
- 关于android的命名空间
- Vim 批量替换