1.判断创建了几个对象:
代码:
public class qwe {
public static void main(String[] args) {
ABC ABC1=new ABC();
ABC ABC2=new ABC();
}
}
class ABC{
static int i;
public ABC() {
i++;
System.out.print("有几个对象?
"+i+"个
");
}
}
截图:
2.动手动脑:
Foo的构造函数有参数,因此Foo obj1=new Foo();也应该有参数。
3.
结果为100和300;
- 执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个“排在前面”。
- 执行类的构造函数。
类的初始化块不接收任何的参数,而且只要一创建类的对象,它们就会被执行。因此,适合于封装那些“对象创建时必须执行的代码”。
3.静态初始化块的顺序:
1)不同类的静态初始化块。
2)同一个类的普通初始化块。
3)同一个类的无参构造器。
4)有参构造器。
4.静态方法中访问类的实例成员
代码:
package text;
public class text {
public static void main( String args[] )
{
Login l=new Login();
System.out.print(i);
}
}
class Login {
int i=0;
public Login() {
}
public static void login() {
// TODO 自动生成的方法存根
}
}
实例化对象后可以调用。