继承中的成员方法和变量
来源:互联网 发布:淘宝欠款 编辑:程序博客网 时间:2024/05/07 01:42
静态,实例变量和方法
继承中初始化次序:
先初始化父类的静态代码--->初始化子类的静态代码-->
(创建实例时,如果不创建实例,则后面的不执行)
初始化父类的非静态代码--->初始化父类构造函数--->初始化子类非静态代码--->初始化子类构造函数
首先看一下JAVA中方法和变量在继承时的覆盖和隐藏规则
1.父类的实例变量和静态变量能被子类的同名变量隐藏
2.父类的静态方法被子类的同名静态方法隐藏
3.父类的实例方法被子类的同名实例方法覆盖
还有几点需要注意的是
1.不能用子类的静态方法隐藏 父类中同样标示(也就是返回值 名字 参数都一样)的实例方法
2.不能用子类的实例方法覆盖 父类中同样标示的静态方法
3.这点儿请注意,就是变量只会被隐藏 不会被覆盖,无论他是实例变量还是静态变量,而且,子类的静态变量可以隐藏父类的实例变量,子类的实例变量可以隐藏 父类的静态变量
总结:
1.同名的实例方法被覆盖 ,同名的静态方法被隐藏,child类的getName实例方法覆盖了parent的getName实例方法,chind的getKind方法隐藏了parent类的getKind方法
2.隐藏 和覆盖 的区别在于,子类对象转换成父类对象后,能够访问父类被隐藏 的变量和方法,而不能访问父类被覆盖 的方法
3.如果需要访问父类被隐藏 的实例变量,加上super就好了,比如访问父类的name,写上super.name就好了
附:一个类继承了一个父类,同时实现了一个接口,打印出父类和接口中重名的变量。
- 继承中的成员方法和变量
- [疑问]继承中的方法和成员变量的调用
- [转]Java继承中的成员方法和变量
- 继承中的同名成员变量处理方法
- 继承中的同名成员变量和函数
- java中的成员方法与成员变量的继承
- java中的成员方法与成员变量的继承
- 继承中的同名成员变量和同名成员函数
- 继承成员变量和成员方法的区别
- java 继承成员变量和继承方法的区别
- 继承成员变量和继承方法的区别
- 继承中的成员方法
- java 继承中的 成员变量
- java中的成员变量和方法
- Java 继承之子父类中的成员变量和函数
- java 继承中成员变量和方法的问题
- 如何理解继承成员变量和方法的区别?
- 继承中的成员变量的特性(私有成员的访问方法)
- NHibernate Step by Step (三) Configuration和Sessionfactory
- 网页播放视频解决代码(来自百度知道)
- myeclipse下设置jquery智能显示
- NHibernate Step by Step (四)Session、Query及HQL
- 反射
- 继承中的成员方法和变量
- 在Global中Application_Error事件处理错误信息
- (转)堆栈与函数调用
- NHibernate Step by Step (五)Criteria Query
- 顺序队
- [翻译].NET委托:一个C#睡前故事
- linux下opera的字体完美解决办法
- 解决Cross-thread operation not valid的问题
- 链队