1.静态方法和非静态方法的区别:
参考:https://zhidao.baidu.com/question/1433773942389340379.html
2. 静态方法 非静态方法,构造方法执行顺序
2.1 创建B类
//--------------------------------------------------------------------------------
package test;
public class B {
B() {
System.out.println("B构造块3"); //3. 自己的构造方法
}
static {
System.out.println("B静态块1"); //1.自己的静态方法
}
{
System.out.println("B非静态块2"); //2. 自己的非静态块
}
public void testB(){
System.out.println("我是B类的特有方法");
}
}
2.2 测试执行顺序
3. 在2的基础上延伸一点
3.1 创建 A类
//--------------------------------------------------------------
package test;
public class A {
A(){
System.out.println("我是A类的构造无参方法");
}
static {
System.out.println("A静态块");
}
{
System.out.println("A非静态块");
}
//在A中的方法 调用 B的方法
public void testA(){
B b = new B();
b.testB();
}
//私有
@SuppressWarnings("unused")
private void testPrivateA(){
System.out.println("我是A类private特有方法");
}
}
3.2 让B类集成 A类
3.3 测试 执行顺序
这个结果稍微复杂点