JAVA子父类内部程序的执行顺序
******************************************************************
一、父类的静态成员赋值和静态块
二、子类的静态成员赋值和静态块
三、父类的成员赋值和初始化块
四、父类的构造方法
五、子类的成员赋值和初始化块
六、子类的构造方法
*********************************************************************
程序实例:
public class Student2 extends User2{
static{//静态块
System.out.println("D");
}
{//初始化块
System.out.println("E");
}
public Student2(){
System.out.println("F");
}
public Student2(String userName){
this.userName = userName;
System.out.println("Student2 : "+userName);
}
public void work(){
System.out.println(this.userName + "is work");
}
public static void main(String[] args) {
Student2 s = new Student2("zhangsan");
s.work();
}
{//若有两个初始化块,则顺序执行
System.out.println("G");
}
}
class User2{
protected String userName;
static{
System.out.println("A");
}
{
System.out.println("B");
}
public User2(){
System.out.println("C");
}
public User2(String userName){
System.out.println("User2 : "+userName);
this.userName = userName;
}
public void work(){
System.out.println("User2 : work");
}
}
结果输出为
A
D
B
C
E
G
Student2 : zhangsan
zhangsan is work
分享到:
相关推荐
java 静态_非静态 字段_方法_代码块 子类父类构造_初始化顺序! 三个class 让你清清楚楚 第一个class java代码如下: package initialOrder; class Parent { // 静态变量 public static String p_StaticField...
本篇文章是对Java中父类与子类的加载顺序进行了详细的分析介绍,需要的朋友参考下
本篇文章是对java父类和子类初始化顺序进行了详细的分析介绍,需要的朋友参考下
Java中的继承与静态static等的执行先后顺序的面试题 java面试题静态加载顺序构造方法 继承与static 面试题目如下:请写出程序执行完成之后的结果。 package extend; public class X { Y y=new Y(); ...
本篇文章是对java中子类继承父类,程序运行顺序进行了详细的分析介绍,需要的朋友参考下
在子类对象被实例化的过程中,变量、构造方法以及代码块三者的先后顺序为: 1. 父类的静态变量和静态代码块,按代码先后顺序执行 2. 子类的静态变量和静态代码块,按代码先后顺序执行 3. 父类的成员变量和普通...
重载是指同一个类中的多个同名方法,重写是指子类对父类方法的重新实现,继承是指子类继承父类的成员变量和方法,而多态是指父类可以调用子类的方法。 在实际开发中,重载、重写、继承和多态都是非常重要的概念,...
子类不能继承父类中访问权限为private的成员变量和方法,子类可以重写父类的方法,及命名与父类同名的成员变量。 子类通过隐藏父类的成员变量和重写父类的方法,把父类的状态和行为改变为自身的状态和行为。注意:...
方法的重载与覆盖 发生重载的条件: 1、在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的... 4、对于继承来说,如果某一方法在父类中是访问权限是priavte,那么就不能在子类对其进
* (如果是重写即子类将父类的实例方法重写类,则调用子类的,如果是隐藏即方法则父类中声明为静态方法,则调用父类本身的但具体方法中的成员是否被子类修改需要进行分析) —> * 下一层次的父类中重复前一个过程
differ.java 测试静态方法与实例方法之间的区别 forefather.java 一个简单的基类 grandson.java 上面这个类的子类 hasConstructor.java 拥有构造器的类 hasFinalFun.java 拥有最终方法的类 hasRecall.java ...
在 Java 中,子类父类的加载顺序是: 1. 创建第一个子类对象时:父类静态块->被调子类静态块->父类动态块->父类无参构造器->被调子类动态块->被调子类无参构造器 2. 创建第一个另一个子类对象时:被调子类静态块->...
作者学习了继承的概念,即子类继承父类的所有属性和方法,并了解到父类无法调用子类方法。作者也学习了构造方法、重载和重写的概念,并了解到抽象类和接口的使用。 第四周实习 在第四周实习中,作者主要学习了java...
* 类A的构造方法可以在子类B的构造方法中被调用,语句格式为super(x)(问题10) 三、继承 * 子类继承父类的所有方法和属性,但私有属性和方法除外(问题11) * 子类可以继承父类的所有方法和属性,但需要使用...
重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象...
方法也可以重写,即可以在子类中重新定义父类中的方法。 五、数组 Java中的数组是一种数据结构,用于存储一组相同类型的数据。数组可以是一维的,也可以是多维的。数组的定义需要指定数组的类型和大小。数组的元素...
方法名一致,参数列表中的顺序,类型,个数不同 b.重载的方法与返回值无关 c.重载可以抛出不同的异常,可以有不同的修饰符 方法重写的命名规则 a.参数列表必须与被重写的方法一致,返回值类型必须相同 b.构造方法不...
· 用protected修饰的属性和方法,父类和子类不在同一包下不能继承 子类又称派生类,父类又称基类和超类 super:关键字,对父类对象的引用,可以调用本类的属性和方法 super(); 对父类对象构造的调用,如果...
Java语言的Applet是指在Web浏览器中执行的Java程序。Applet可以在Web浏览器中显示图形、动画、游戏等。Applet的生命周期包括init、start、stop、destroy四个阶段。init方法是Applet的初始化方法,start方法是Applet...
用简单几句话说明java成员初始化顺序,适合初学者