1. 程式人生 > >動手動腦|課後作業

動手動腦|課後作業

nds 一個 sta public 多個 block sum 使用 父類

一、

public class Test{
 public static void main(String[] args){
Foo obj1=new Foo();
}
}
class Foo{
 int value;
 public Foo(int initVaule){
  vaule=initVaule;
}
}

如果類提供了一個自定義的構造方法,將導致系統不再提供默認構造方法

同一個類可以有多個構造函數,多個構造函數之間通過參數來區分,這是方法重載的一個實例。

構造函數之間可以相互調用

二、

public class aca {
public int field=100;
{
field=200;
}
public aca(int value) {
this.field=value;
}
public aca() {

}
public static void main(String args[]) {

aca obj=new aca();
System.out.println(obj.field);
obj=new aca(300);
System.out.println(obj.field);
}
}

當調用默認構造方法時,調用初始化體進行初始化字段;

當調用有參構造方法時,調用有參構造方法進行字段初始化;

三、

class Root
{
    static{
        System.out.println("Root的靜態初始化塊");
    }
    {
        System.out.println("Root的普通初始化塊");
    }
    public Root()
    {
        System.out.println("Root的無參數的構造器");
    }
}
class Mid extends Root
{
    static
{ System.out.println("Mid的靜態初始化塊"); } { System.out.println("Mid的普通初始化塊"); } public Mid() { System.out.println("Mid的無參數的構造器"); } public Mid(String msg) { //通過this調用同一類中重載的構造器 this(); System.out.println("Mid的帶參數構造器,其參數值:" + msg); } }
class Leaf extends Mid { static{ System.out.println("Leaf的靜態初始化塊"); } { System.out.println("Leaf的普通初始化塊"); } public Leaf() { //通過super調用父類中有一個字符串參數的構造器 super("Java初始化順序演示"); System.out.println("執行Leaf的構造器"); } } public class TestStaticInitializeBlock { public static void main(String[] args) { new Leaf(); } }

結果:

1、靜態初始化塊只執行一次。

2、創建子類型的對象時,也會導致父類型的靜態初始化塊的執行

四、

靜態方法只能訪問靜態成員,實例方法可以訪問靜態和實例成員。之所以不允許靜態方法訪問實例成員變量,是因為實例成員變量是屬於某個對象的,而靜態方法在執行時,並不一定存在對象。同樣,因為實例方法可以訪問實例成員變量,如果允許靜態方法調用實例方法,將間接地允許它使用實例成員變量,所以它也不能調用實例方法。基於同樣的道理,靜態方法中也不能使用關鍵字this。

五、

public class sum {
    public static int a=0;

    int c;

    public sum(int cc)

    {

    c=cc;

    a++;

    }

    public int get()

    {
    return a;
    }
}

public class cxc {
    public static void main(String[] args)

    {

    sum one=new sum(1);

    sum tow=new sum(2);

    sum three=new sum(3);

    System.out.println(one.get());

    }
}

統計創建類的個數;

動手動腦|課後作業