导航:首页 > 编程语言 > java子类初始化

java子类初始化

发布时间:2023-01-16 09:08:35

『壹』 请问java能不能直接用子类初始化父类

其实回答你这个问题挺难的,因为你问的问题本身就是个问题,通过你问的问题,你很多概念其实没有搞清楚...。
首先子类父类的继承性问题是类之间的关系,而初始化是对象的问题(当然类也能初始化,但是这种初始化无关于子类父类,这也不牵扯到你问的问题)。对象是没有父子的问题的,当你实例化一个类的对象出来,这个对象是属于这个类以及这个类的所有父类的,即是说,如果User继承Personnel再继承Object,那么你实例化一个User对象Jone,那么Jone既是User的对象同时也是Personnel的对象同样也是Object的对象,但是这里只有一个对象,没有三个对象,Jone包含三个类的所有特性,包括属性,方法等等。所以当你实例化Jone这个对象以后,它其实已经同时初始化三个类所定义的所有属性。而java机制是从父类到子类初始化的。从这个概念上来讲,实例化一个类的对象出来,那么久必须把这个类的所有父类定义的全部特性全部初始化,而且必须初始化,这不是能不能的问题,是必须这么做。
就目前而言,你对java内部的编译和运行机制不甚了解的情况下,思考这种问题其实无益,你应该更多的着眼于目前的基础知识,很多问题在你了解更多的知识以后这些都不是问题,你现在去想这种似是而非的问题,会让你思维混乱的,因为你这个问题的本身问法就是错的,从一个错误的问题出发,即使别人给你回答,那么怎么回答都是错的,别人需要从很基础的知识一点一点给你讲,大多数人不会浪费这么多时间不会跟你解释的,你要注重自我学习,不要乱提错误的问题。

『贰』 当java父类和子类都有构造函数时,求子类对象初始化过程详解

你好,初始化过程是这样的:
1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化;
2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化;
3.其次,初始化父类的普通成员变量和代码块,在执行父类的构造方法;
4.最后,初始化子类的普通成员变量和代码块,在执行子类的构造方法;
最后,给你个例子吧。你运行着帮助理解。
class Super{
public static int a ;
private int b ;

static{
System.out.println("此时a的值为:" + a) ;
a = 10 ;
}
public Super(){
System.out.println("此时a的值为:" + a) ;
System.out.println("此时b的值为:" + b) ;
b = 20 ;
}
{
System.out.println("此时b的值为:" + b);
b = 30 ;
}
}
class Sub extends Super{
public static int aa ;
private int bb ;

static{
System.out.println("此时aa的值为:" + aa) ;
aa = 10 ;
}
public Sub(){
System.out.println("此时aa的值为:" + aa) ;
System.out.println("此时bb的值为:" + bb) ;
bb = 20 ;
}
{
System.out.println("此时bb的值为:" + bb);
bb = 30 ;
}
}
public class ConstructorTest {
public static void main(String[] args) {
new Sub() ;
}
}

『叁』 java中,子类初始化时一定要调用父类的构造方法,不调用行吗

一定会调用,原因是这样的。
因为子类继承了父类,那么就默认的含有父类的公共成员方法和公共成员变量,这些方法和变量在子类里不再重复声明。如果你初始化子类的时候,不初始化父类,那么你通过子类调用父类方法或变量的时候会出现什么情况呢?当然就是抛异常阿!所以,Java虚拟机会在你初始化子类的时候默认的初始化子类的父类。而且是一层一层的往上递进!

阅读全文

与java子类初始化相关的资料

热点内容
网络中常用的传输介质 浏览:518
文件如何使用 浏览:322
同步推密码找回 浏览:865
乐高怎么才能用电脑编程序 浏览:65
本机qq文件为什么找不到 浏览:264
安卓qq空间免升级 浏览:490
linux如何删除模块驱动程序 浏览:193
at89c51c程序 浏览:329
怎么创建word大纲文件 浏览:622
袅袅朗诵文件生成器 浏览:626
1054件文件是多少gb 浏览:371
高州禁养区内能养猪多少头的文件 浏览:927
win8ico文件 浏览:949
仁和数控怎么编程 浏览:381
项目文件夹图片 浏览:87
怎么在东芝电视安装app 浏览:954
plc显示数字怎么编程 浏览:439
如何辨别假网站 浏览:711
宽带用别人的账号密码 浏览:556
新app如何占有市场 浏览:42

友情链接