java 子类与父类
2020-05-04 16:05:59来源:博客园 阅读 ()
子类是由继承得到的类,被继承的类就是父类,子类与父类是"is-a"关系。
一、子类与父类
1. 子类
(1)子类定义
class 子类名 extends 父类名 {...}
(2)子类继承性
子类继承了父类的所有属性和除了构造方法的其余方法。
- 子类与父类在同个包中:子类继承父类除了private成员
- 子类与父类在不同包中:子类继承父类除了private、友好成员
- protected成员:若子类与祖先类同包,子类可访问
2. 父类
所有类的祖先类是Object类(java.lang.Object)。
3. 子类与父类
父类可有0或多个子类,子类只能有一个父类。
obj instanceof Class; // 若obj是Class的子类, 返回True, 否则返回False
二、子类
1. 隐藏属性
当子类中新声明的变量与父类的成员变量同名时,子类中继承的变量被隐藏,若想使用,可通过继承的方法调用。
2. 隐藏方法——方法重写
当子类中新声明的方法与父类的方法同名时,为方法重写,表示实现与父类不同的行为,但方法名相同。
方法重写时,方法名、返回值类型、参数列表都必须相同,访问权限可升不可降,并且重写的方法不能操作隐藏的成员。
三、子类与子类对象
子类对象的用法与普通类的对象相同。
子类对象不能操作隐藏的成员,可通过继承的方法访问。
四、父类与子类对象
1. 上转型对象
由父类People扩展的子类Chinese,将子类创建的对象Lina的引用值赋给父类创建的对象person,person即为对象的上转型对象。
class People {...} class Chinese extends People {...} class E { public static void main(String args[]) { Chinese Lina = new Chinese(); People person = Lina; // People person = new Chinese(); // 以上两句类似此句 } }
在上面代码的基础上,以下一语句是错误的。因为可以说Chinses类是People类,但不能说People类是Chinses类(如老虎是动物[?],动物是老虎[?])。
Chinese Lisa = new People(); // 此句错误
2. 上转型对象的规则
(1)上转型对象不存在子类新增的变量或方法,只有继承的、隐藏的变量和继承的、重写的方法。
(2)若子类重写了方法,则上转型对象调用的是重写的方法。
(3)当子类重写的方法是静态方法时,上转型对象调用的是父类的静态方法。
(4)可将上转型对象强制转化为子类对象,此时该对象具备子类新增的属性和行为。
原文链接:https://www.cnblogs.com/bpf-1024/p/12827557.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash