重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
首先执行父类静态的内容,父类静态的内容执行完毕后,接着去执行子类的静态的内容,当子类的静态内容执行完毕之后,再去看父类有没有非静态代码块,如果有就执行父类的非静态代码块,父类的非静态代码块执行完毕,接着执行父类的构造方法;父类的构造方法执行完毕之后,它接着去看子类有没有非静态代码块,如果有就执行子类的非静态代码块。子类的非静态代码块执行完毕再去执行子类的构造方法。
专业领域包括成都网站建设、成都网站制作、商城建设、微信营销、系统平台开发, 与其他网站设计及系统开发公司不同,创新互联的整合解决方案结合了帮做网络品牌建设经验和互联网整合营销的理念,并将策略和执行紧密结合,为客户提供全网互联网整合方案。
静态代码块:只要一用到某个类,那么这个类的静态代码块就先执行,比如:
public class Dog(){
int i = 0;
static {
i = 1;
}
public Dog(){
i = 2;
}
}
当你new 一个Dog()对象时,首先i= 1 会执行,然后才执行 public Dog(){}这个方法。
pulic Dog() 是与类同名、没有返回值的方法,也就是构造方法。
构造方法的作用是用来初始化一个对象的。比如你可以在里面写 i = 2;
那么当你 Dog d = new Dog()执行这段代码的时候,是这样的:
首先 i = 0 ;
然后执行static 静态代码块,此时i= 1;
最后执行public Dog(); i = 2;
public class MathTest {
/**
* 求最大公约数
* @param m
* @param n
* @return
*/
public static int Gcd (int m,int n){
while (m % n != 0) {
int temp = m % n;
m = n;
n = temp;
}
return n;
}
/**
* 求 a^b
* @param m
* @param n
* @return
*/
public static double getPow(double a,double b){
double num = a;
for (int i = 0; i b ; i++) {
a *= num;
}
return a;
}
}
测试类:
public class Test {
public static void main(String[] args) {
int num1 = MathTest.Gcd(12, 8);
System.out.println(num1);
double num2 = MathTest.getPow(2, 3);
System.out.println(num2);
}
}
结果:
4
16.0