package pk;class A{
static A a1=new A(111);
public A(int i){
System.out.println("new Father()"+i);
}
{
System.out.println("father block"); //请问这类里的方法名怎么会没
} //啊,而且还运行得了哦,不知
static { //不知道这个是如何理解的,
System.out.println("static father block");//谁能告诉我这个原理,谢
}
}public class Init extends A{
static Init a2=new Init(222);
Init(){
this(12);
System.out.println("new son()");
}
Init(int x){
super(0);
System.out.println("new son(int)");
}
{
System.out.println("son block");
}
static {
System.out.println("static son block");
}
public static void main(String[] args){
new Init();
}
}
static A a1=new A(111);
public A(int i){
System.out.println("new Father()"+i);
}
{
System.out.println("father block"); //请问这类里的方法名怎么会没
} //啊,而且还运行得了哦,不知
static { //不知道这个是如何理解的,
System.out.println("static father block");//谁能告诉我这个原理,谢
}
}public class Init extends A{
static Init a2=new Init(222);
Init(){
this(12);
System.out.println("new son()");
}
Init(int x){
super(0);
System.out.println("new son(int)");
}
{
System.out.println("son block");
}
static {
System.out.println("static son block");
}
public static void main(String[] args){
new Init();
}
}
解决方案 »
- 中文乱码问题
- 关于怎么拷贝一个对象。
- JAVA学习方法
- JOptionPane的问题
- ****请教大虾.(执行顺序)
- 两个问题,1。Boolean中的getBoolean(String name)我的参数不管是什么,返回的都是false,2,jcheckbox里我setSelect(true),以后setSelct(
- 再问中文问题,java令我失望 解决立即给分
- 一个关于继承的问题
- java.rmi.Registry 的rebind怎么用?如何把一个远程对象绑定到指定端口?
- JPanel设置布局管理器BorderLayout的一个问题。详情见内。谢谢。
- 如何在垃圾收集器收集时降对象打印出来
- 我的登录验证过滤器(LoginFilter)发生死循环
System.out.println("father block"); //请问这类里的方法名怎么会没
} //啊,而且还运行得了哦,不知
static { //不知道这个是如何理解的,
System.out.println("static father block");//谁能告诉我这个原理,谢
}
}哇~确实奇怪,没有类名的类,还没见过。。
所以
{
System.out.println("father block"); //请问这类里的方法名怎么会没
} //啊,而且还运行得了哦,不知
static { //不知道这个是如何理解的,
System.out.println("static father block");//谁能告诉我这个原理,谢
}
应该差不多一样吧.
public A(int i){
System.out.println("new Father()"+i);
}
{
System.out.println("father block"); //请问这类里的方法名怎么会没
} //这个叫显式初始化块.是在类构造函数之前调用的
static { //不知道这个是如何理解的,
System.out.println("static father block");//谁能告诉我这个原理,谢
}
//这个叫静态初始化块,是在类加载的时候调用的,而且只调用一次.什么叫类加载和什么叫实例化自己要想清楚哦~}
经典题:一个没有main函数的helloworld
class Test{
static {
System.out.println("Hello Wrold!!");
System.exit(0);
}基础要打好啊~这些都没见过怎么考试哦??
System.out.println("father block"); //请问这类里的方法名怎么会没
}
这不是方法,是一个代码块
static { //不知道这个是如何理解的,
System.out.println("static father block");//谁能告诉我这个原理,谢
}
这就是个静态代码块咯
1 A类的静态调用
2 Init类的静态调用
3 Init实例的初始化具体输出大致应如下:
father block //1。 A类的静态调用:初始化A的静态变量a1。调用具体的构造函数动作之前先调用对象方法区和变量初始化代码。
new Father()111 //调用a1的构造代码。
static father block //A的其它静态方法区
father block //2。 Init类的静态调用:初始化Init的静态变量a2。先以super(0)调用父类构造函数,调用父类具体构造函数动作之前先调用父类对象方法区
new Father()0 //super(0)调用的父类构造函数
son block //调用子类具体构造函数动作之前先调用子类对象方法区
new son(int) //a2的子类构造动作
static son block //Init的其它静态方法区
father block //3。 Init实例的初始化:初始化Init的变量前。先以super(0)调用父类构造函数,调用父类具体构造函数动作之前先调用父类对象方法区
new Father()0 //super(0)调用的父类构造函数
son block //调用子类具体构造函数动作之前先调用子类对象方法区
new son(int) //Init(int x)中子类构造动作
new son() //Init()中子类构造动作
{
System.out.println("father block 0 " ); //请问这类里的方法名怎么会没啊,而且还运行得了哦,不知
}
static {
System.out.println("static father block 0");
}
static A a1 = new A(111); public A(int i) {
System.out.println("new Father()" + i);
} {
System.out.println("father block"); //请问这类里的方法名怎么会没啊,而且还运行得了哦,不知
}
static {
System.out.println("static father block ");
}}
public class Init extends A {
String s = "".concat("str");
{
System.out.println("son block 0" );
}
static {
System.out.println("static son block 0");
}
static Init a2 = new Init(222); Init() {
this(12);
System.out.println("new son() " + 12);
} Init(int x) {
super(x);
System.out.println("new son(int)" + x);
} {
System.out.println("son block" );
}
static {
System.out.println("static son block");
} public static void main(String[] args) {
Init a3 = new Init();
}
}输出结果如下:
static father block 0
father block 0
father block
new Father()111
static father block
static son block 0
father block 0
father block
new Father()222
son block 0
son block
new son(int)222
static son block
father block 0
father block
new Father()12
son block 0
son block
new son(int)12
new son() 12