子类继承父类
2015-09-23 16:00
85 查看
[code]class A { private int i=1; public int getI(){ return i; } public void setI(int i){ this.i=i; } } public class B extends A { int i=2; public static void main (String [] args) { B b = new B(); System.out.println(b.getI()); } }
1.并不是private成员不会被继承.事实上子类可以继承父类的任何变量和方法。private、protected只是访问权限而已。即使i是public的
输出结果也肯定是1.
2.方法可以覆盖,成员变量并没有覆盖一说,也就是子类的i和父类的i是共存在子类体内的。父类对象中有i变量、set get两个方法。子类class中应有i【继承于父类对象】、i【子类对象】两个变量、set get两个方法【继承于父类对象】。
3.java中的原则是调用的是哪个类的方法,那么这个方法访问的就是这个类中的成员。子类中没有覆盖public int getI()这个方法的话,那么子类调用的其实是父类的getI()方法.所以返回的是父类中的i.
所以如果子类覆盖了getI()方法,那么就会输出的是子类中的i了,因为调用的是子类中的方法。
调用父类的方法取得是父类的i.
相关文章推荐
- [Oracle][ODBC SQL Server Driver][SQL Server]对象名 'RECOVER.HS_TRANSACTION_LOG' 无效(转)
- memcached重启命令
- Android 蓝牙开发(一)Android系统的蓝牙模块简介
- python sorted operator.itemgetter
- 验证XCODE是否中毒的方法
- [论文阅读]随机蕨:FAST Key Points Recognition Using Random Ferns
- win8.1/2012R2上面安装flash debugger
- 清除层div浮动
- Eclipse相关设置
- Custom Container View Controller
- Linux下Websphere无法关闭
- 怎么阅读android官方开发文档
- unity学习前篇
- iOS开源项目学习——JSQMessagesViewController
- u8g.lib在128x64的使用
- libevent学习笔记1:一个用libevent实现的回显服务器
- Springmvc+mybatis 问题总结(续ing)
- [MFC]文档/视图结构的命令传送和预定义命令ID(包括命令处理程序)
- Qt数据库之数据库连接池-转自网络
- 织梦内容页文档页,php逻辑调用dede:field.price控制显示原价优惠价