上篇 是基本语法基础下的执行顺序,包括继承这个维度下的执行顺序,我们可以依照的规律顺下来,下面我们看下一些摸不到头脑的情况 我们实验 一个 类中的方法 去调用另一个非继承类的情况,  我们主要看下  静态构造函数 和没有静态构造函数执行顺序上的差别 class Program { static void Main(string[] args) { //执行顺序5 var de = new People("2"); //执行顺序6 People.Instance.OutDemo(); /…
一.成员初始化整体顺序 1.成员赋值初始化先于构造函数: 2.成员赋值初始先从子类再到基类: 3.构造函数初始化先从基类再到子类: 4.静态成员初始化优先于实例成员初始化: 二.对类型静态成员构造的大致过程 1.分配静态成员的内存空间,此时空间存储数据为0: 2.执行类的静态成员的初始化语句: 3.执行类的静态构造函数. 三.对类型实例成员构造的大致过程 1.分配实例成员的内存空间,此时空间存储数据为0: 2.执行子类实例成员初始化语句: 3.执行基类实例化成员初始化语句: 4.执行基类构造函数…
先来观察下面的代码 package trr; class Root { static{ System.out.println("Root的静态初始化块"); } { System.out.println("Root的普通初始化块"); } public Root() { System.out.println("Root的无参数的构造器"); } } class Mid extends Root { static{ System.out.print…
在java中,其应该是先于所有的方法执行. 下面是测试代码: public class Test1 { static{ System.out.println("执行静态初始化块test1..."); } { System.out.println("执行初始化块test1"); } public Test1(){ System.out.println("执行test1构造函数"); } } public class Test2 extends Te…
一.阿里巴巴笔试题: public class Test { public static int k = 0; public static Test t1 = new Test("t1"); public static Test t2 = new Test("t2"); public static int i = print("i"); public static int n = 99; private int a = 0; public int…
http://www.cnblogs.com/naruto469/p/3608459.html public class Print { 2 3 public Print(String s){ 4 System.out.print(s + " "); 5 } 6 } 1 public class Test1 { 2 3 public static Print obj1 = new Print("1"); 4 5 public Print obj2 = new Pri…
1:访问修饰符 private     同类中 默认        同类        同包 protect    同类         同包      子类 public     同类        同包        子类         其它任何地方 2:导包 当两个类同名时  需要进行导包以区分, 3:继承 1)继承成员变量,但与访问修饰符有关系. 4:继承中的构造方法 1)子类中的构造方法默认调用父类的无参构造,如果用super在子类构造中调用父类的有参构造就会将父类的无参构造覆盖,如…
答:执行顺序:静态初始化块->初始化块->构造函数 静态初始化块:在第一次加载类时执行,与对象的创建无关. 构造代码块:在调用构造方法时执行. 构造函数:在调用构造函数时执行.…
静态变量位于栈上,它是一个全局变量,在编译期就已经生成. public class Cow public static int count; private int id; { id = ++count; } 客户端创建2个Cow的实例,并打印静态变量count. static void Main(string[] args) Console.WriteLine(Cow.count); Cow cow1 = new Cow(); Cow cow2 = new Cow(); Console.Wri…
1.构造器:与类同名且没有返回值,用来初始化类属性: 构造器又分为无参构造器和有参构造器 1.1:无参构造器 public class Contruction{ ...属性... public Contruction(){}//无参构造器,不写,系统会自动添加 } 1.2:有参构造器 public class Contruction { private int i; public Contruction( int i){/*有参构造器,如果你定义了一个有参数的构造器,那么你在实例化对象的时候必须…