课后作业

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;

  1. 执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个“排在前面”。
  2. 执行类的构造函数。

类的初始化块不接收任何的参数,而且只要一创建类的对象,它们就会被执行。因此,适合于封装那些“对象创建时必须执行的代码”。

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 自动生成的方法存根
        
    }

}

实例化对象后可以调用。

原文地址:https://www.cnblogs.com/liushiqiang123/p/7699437.html