java 继承和多态 问题
来源:互联网 发布:软件 地图周围距离 编辑:程序博客网 时间:2024/06/04 21:12
第一类:调用父类构造函数
1.如果子类自己没有定义任何构造函数,那么在创建子类对象的时候将调用父类无参数的构造函数。
2.如果子类定义了自己的构造函数,则在创建子类对象的时候,系统首先隐含调用父类无参数的构造函数,然后再执行自己的构造函数。
3.如果子类定义了自己的构造函数,并且显示的使用super关键字显示的调用了父类的构造函数,系统将不再隐含调用父类构造函数(直接调用)。
class Super{
int i=10;
Super(){
print();
i=20;
}
void print(){
System.out.print(i);
}
}
public class Child extends Super{
int j=30;
Child(){
super();
print();
j=40;
}
void print(){
System.out.print(j);
}
public static void main(String[] args){
System.out.print(new Child().j);
}
}
第二类:方法的重写
先了解写重写:子类在重写父类方法时,应保持与父类完全相同的方法头声明,即与父类应该有完全相同的方法名,返回值,和参数列表。
子类通过才重写,使父类方法在子类对象中不复存在的。
class Base
{
void test() {
System.out.println("Base.test()");
}
}
public class Child extends Base {
void test() {
System.out.println("Child.test()");
}
static public void main(String[] a) {
Child anObj = new Child();
Base baseObj = (Base)anObj;//相当于Base baseObj = new Child()所以baseObj 任然是子类对象。
baseObj.test();
}
}
第三类:含有静态块的继承
静态块在类加载的时候就开始执行,并且仅在第一次加载的时候执行。
class A{
static{
System.out.print("a");
}
public A (){
System.out.print("x");
}
}
class B extends A{
static{
System.out.print("b");
}
public B (){
System.out.print("y");
}
}
public class Test{
public static void main(String[] args){
A ab = new B ();//先加载A,执行static块,再加载B,执行static块,然后new B(),由于B有自己的构造函数,所以先隐含调用A的无参构造函数,输出x,然后调用B自己的构造函数,输出y
ab = new B ();//由于是一个程序,A和B都已加载完成,也就不再调用static块了,然后接着执行构造函数即可。
}
}
- java 继承和多态 问题
- 关于java继承和多态的问题
- Java继承和多态
- java继承和多态
- Java继承和多态
- 【Java】继承和多态
- JAVA继承和多态
- Java继承和多态
- java继承和多态
- java 继承和多态
- #Java#继承和多态
- java继承和多态
- java中静态属性和和静态方法的继承问题 以及多态的实质
- java中静态属性和和静态方法的继承问题 以及多态的实质
- java中静态属性和和静态方法的继承问题 以及多态的实质
- java中静态属性和和静态方法的继承问题以及多态的实质
- java中静态属性和和静态方法的继承问题 以及多态的实质
- 继承和多态问题全解析
- shell入门(2)
- oracle 10g 更换主机名或者IP后引起EM (dbconsole) 启动失败的解决方法
- Facebook Android SDK
- itoa 转换
- epoll_create, epoll_ctl和epoll_wait & select函数分析
- java 继承和多态 问题
- ora-12638 credential retrieval failed(身份证明检索失败)
- Android EditText之inputType
- (Jquery功能篇) Jquery UI 相关组件(手风琴、tab分页、进度条、 滚动条、 时间控件)
- 记一次oracle的rac环境下,字符集修改
- Discuz! 插件开发手册
- 实用英文短语单词整理-02
- jquery offset() 和 positon()
- 【HDOJ】题目分类