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 ...
重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象...
方法名一致,参数列表中的顺序,类型,个数不同 b.重载的方法与返回值无关 c.重载可以抛出不同的异常,可以有不同的修饰符 方法重写的命名规则 a.参数列表必须与被重写的方法一致,返回值类型必须相同 b.构造方法不...
· 用protected修饰的属性和方法,父类和子类不在同一包下不能继承 子类又称派生类,父类又称基类和超类 super:关键字,对父类对象的引用,可以调用本类的属性和方法 super(); 对父类对象构造的调用,如果...
用简单几句话说明java成员初始化顺序,适合初学者
(1) 类可以没有构造方法,但如果有多个构造方法,就应该要有默认的构造方法,否则在继承此类时,需要在子类中显式调用父类的某一个非默认的构造方法了。 (2) 在一个构造方法中,只能调用一次其他的构造方法,并且...
设计一个程序,用于根据用户输入的命令行参数数量来计算长方形、正方形、三角形的面积。如果输入的参数为一个、二个、三... 再派生出三个子类,重写area()方法,然后在main方法中用多态来实现具体的面积函数的调用)。
运行时多态:重写,对象的多态性(父类的引用指向子类的实例) 5.CSDN 1.泛型的好处 保护类型安全 避免强制类性转化 2.final 1.修饰的属性是常量 2.修饰的方法不能被重写 3.修饰的类不能被继承 String
第7章 Java中的方法——给汽车丰富多彩的功能 154 教学视频:2小时55分钟 7.1 方法:让汽车动开动 154 7.1.1 引出问题:开动汽车 154 7.1.2 那么,方法到底是什么呢? 155 7.1.3 方法调用过程初探 156 7.2 ...
在 java 语言中,Java 程序的基本单位是类,也就是说:一个 Java 程序是由多个类组成 的。定义一个类与定义一个数据类型是有区别的。在程序设计语言中,把定义数据类型的能 力作为一种很重要的能力来对待。在面向...
第7章 Java中的方法——给汽车丰富多彩的功能 154 教学视频:2小时55分钟 7.1 方法:让汽车动开动 154 7.1.1 引出问题:开动汽车 154 7.1.2 那么,方法到底是什么呢? 155 7.1.3 方法调用过程初探 156 7.2 ...