一:类的继承的语法格式
1)关键字:extends
2)格式:
public class 类名 extends 类名 {
}
ps:java中类的继承是单继承,也就是说一个类只允许有一个直接的父类。
二:子类能在父类中继承到什么?
1)子类能继承到父类中所有的属性和方法。(但是可能不能全部调用)
2)java中类的成员方法的四种访问修饰符及子类什么情况下能调用父类中的哪些方法和属性?
1.public 所有类均可访问到
2.private 只有同一个类的内部才能够访问到
3.默认的(friendly) 同一个包下可访问,继承下包外不可访问(java中默认的并没有关键字,friendly是根据c++形象而来)
4.protected 同一个包下可访问,继承下包外也可访问
三:方法重写
1)使用方法重写的前提条件
1.必须要有继承关系
2.待重写方法的返回值的数据类型,参数个数,参数顺序,参数类型必须完全一致
3.子类重写父类方法时可以扩大访问修饰符的范围或者不变(但是不能缩小)
2)什么情况下使用方法重写:父类与子类使用的方法需要的参数一致,返回值一致,但是方法体不同时
3)如何调用被重写之前的父类方法
super.方法名(参数类型 参数名。。。)
四:自动转型
1)条件
必须要有父类与子类的继承关系
2)格式
父类名 对象名 = new 子类名();
3)缺陷:无法调用子类新定义的方法
原因:1.新实例化的对象可以访问到子类的方法,但必须是子类重写了父类之后的方法,并且编译的时候用的是父类的方法,而在运行的时候就是访问的子类重写的方法,一句话:因为多态
2.该变量不能再访问子类中新定义是属性,因为多态是针对重写的方法,不是覆盖之后的属性。
ps:更详细的关于多态的理解和讨论请参见http://zhidao.baidu.com/question/176136172.html
4)好处:在写英雄的技能的代码时,对每一个不同的英雄都可以用同一个参数来传参,而不必每一个英雄都定义个方法来传参,这样就可以减少代码量等等等。
五:接口
1)定义:只用于继承而使用其中的属性和未实现的方法的特殊"类",不能实例化
2)关键字:(定义接口的关键字)interface,(实现接口的关键字)implements
3)格式:
1.定义接口:
public interface 接口名{
}
2.继承接口:
(接口继承接口,一个接口可以有多个父接口)
public interface 接口名 extends 接口名,接口名...{
}
(类继承接口,必须实现接口中全部的方法,如接口有父接口则也必须实现父接口中的方法)
public class 类名 implements 接口名{
}
六:抽象类
1)定义:介于接口和类之间的一种特殊类,不能实例化,能够定义已实现和未实现的方法
2)关键字:abstract
3)格式:
public abstract class 抽象方法名 implements 接口名...{ //抽象方法定义,必须加关键字abstract,继承的子类必须实现 public abstract void 方法名(); //可以定义已经实现的方法 public void 方法名(){ } //可以实现或者不实现接口中的方法 public void 方法名(){} }
4)使用方法:当需要频繁用到的接口中有很多未实现的方法时,就可以用抽象类继承,然后全部实现一遍,当我们需要用到哪个方法时只需要继承抽象类然后重写该方法即可,可大大减少代码量
ps:抽象类居然可以继承类而不报错,不过事实上继承了什么也干不了,因为里面只允许存在方法,抽象方法和属性,so...
相关推荐
cpp代码-C++:类04__虚继承 virtual 避免菱形继承的问题
CPP第04单元_C++面向对象程序设计2-类的继承-作业参考答案CMtx.hpp
C# 基础学习案例源码(32套源码案例) CS_01你好世界 CS_02输入和输出 CS_03异常捕获 CS_04字符串拼装 CS_05枚举 CS_06数组 CS_07二维数组 CS_08交错数组 CS_09值类型和引用类型 ...CS核心_13_继承_里氏替换原则
09_抽象类在多继承中的应用 10_面向抽象类编程_计算程序员工资 11_中午课程回顾 12_信息系统框架集成第三方产品案例_背景和需求 13_信息系统框架集成第三方产品案例_编码实现分析_传智扫地僧 14_信息系统框架集成第...
Python中超类,类的继承,文章:https://blog.csdn.net/yysyangyangyangshan/article/details/84075462
【完整课程列表】 ...优质java课件 java程序设计教程(第6版)01....继承(共14页).ppt 优质java课件 java程序设计教程(第6版)09.多态性(共41页).ppt 优质java课件 java程序设计教程(第6版)10.异常(共56页).ppt
Java 视频教程目录: day01、Java 语言发展史_JDK的安装_HelloWorld程序的...day09:Java 类的继承_super和this关键字。 day10:Java 接口。 day11:Java final 关键字_内部类_成员内部类_局部内部类_匿名内部类。
继承(下) 抽象类 接口 抽象类 抽象类概述 抽象类的特点 抽象类举例代码讲解 抽象类相关问题
day03回顾: 对象: 属性(实例变量) 行为(实例方法) 类: 属性(类变量) 行为(类方法) @classmethod 面向对象语言的特征: 封装(类和私有变量) ...day04笔记 异常(高级) 回顾异常相关的语句: try-except 用来
04_Java的变量.mp4 05_Java的基本数据类型.mp4 06_练习课(一).mp4 07_运算符与表达式.mp4 08_分支语句(1).mp4 08_分支语句.mp4 09_练习课(二).mp4 10_循环语句(1).mp4 10_循环语句.mp4 11_练习课(三).mp4 12_...
04.编写类(共61页).ppt 04.类的复习(共9页).ppt 04.中期回顾 类、构造方法(共18页).ppt 05.深入的条件判断和循环(共28页).ppt 05.条件和循环语句(共58页).ppt 05.条件判断和循环复习(共23页).ppt 06....
优质精品课程推荐 武汉大学Java语言程序设计教程 第04章 继承与多态.ppt 优质精品课程推荐 武汉大学Java语言程序设计教程 第05章 Java图形用户界面GUI设计.ppt 优质精品课程推荐 武汉大学Java语言程序设计教程 第06...
char占用一个字节, 但不满足4的倍数时, 会进行数据对齐, 使用4的倍数的字节(byte). ... * Created on: 2014.04.20 * Author: Spike */ /*eclipse cdt, gcc 4.8.1*/ #include using namespa
day09【继承、super、this、抽象类】 day10【接口、多态】 day11【final、权限、内部类、引用类型】 此课程全部课程资料获取: JavaEE基础学习资料地址汇总:...
【完整课程列表】 ...优质java课件 java程序设计教程(第6版)01....继承(共14页).ppt 优质java课件 java程序设计教程(第6版)09.多态性(共41页).ppt 优质java课件 java程序设计教程(第6版)10.异常(共56页).ppt
04 类和对象(2学时)(共31页) 05 继承和多态(2学时)(共40页) 06 类的高级特征(4学时)(共55页) 07 异常(2学时)(共27页) 08 线程(2学时)(共15页) 09 Swing UI编程(6学时)(共80页) 10 集合框架(略)(共48页...
第三章 Java面向对象程序设计 – 23.5 类的继承3.6Object类3.7final类与final方法3.8abstract类3.9类的组合3.10 访
保留由Droid编写的继承时COMP 249分配的源代码 ##更新2015-10-04 我们的代码被组织为packages_v1和packages_v2 ; 前者包含根据第1部分的规范编写的代码,而后者则包含在第2部分中指定的修改:1)所有属性均设置为...