激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

sun認證考試:java子對象創(chuàng )建過(guò)程

時(shí)間:2024-08-18 08:03:56 SUN認證 我要投稿
  • 相關(guān)推薦

sun認證考試:java子對象創(chuàng )建過(guò)程

  Java 創(chuàng )建子類(lèi)對象的過(guò)程:

sun認證考試:java子對象創(chuàng  )建過(guò)程

  public class F511

  {

  private int ff=100;

  protected int m=880;

  F511()

  {

  m=add(8);

  }

  int add(int i){

  return i+m;

  }

  public static void main(String args[]){

  F511 f=new F511();

  System.out.println("f="+f.m);

  S511 s=new S511();

  System.out.println("s="+s.m+" t= "+s.t);

  }

  }

  class S511 extends F511

  {

  protected int ss=111;

  S511(){

  m+=ss;

  t=add(9);

  }

  int add(int i){

  return i*ss;

  }

  }

  大家自己先分析一下運算后的結果,然后在看下面結果:

  答案是:f=888

  m=111

  通過(guò)這個(gè)例子可以很好的學(xué)習到j(luò )ava繼承父類(lèi),運行的先后順序和機制。

  現在我添加一下東西到程序中,方便我們分析:

  public class F511

  {

  private int ff=100;

  protected int m=880;

  protected int t=880;

  static int k=0;

  F511()

  {

  System.out.println("this is parents = "+m);

  m=add(8);

  System.out.println("this is parents m=add(8) = "+m);

  }

  int add(int i){

  System.out.println("k= "+k);

  k++;

  return i+m;

  }

  public static void main(String args[]){

  F511 f=new F511();

  System.out.println("f="+f.m);

  S511 s=new S511();

  System.out.println("s="+s.m+" t= "+s.t);

  }

  }

  class S511 extends F511

  {

  protected int ss=111;

  static int j=0;

  S511(){

  System.out.println("this in childe print parents = "+m);

  m+=ss;

  t=add(9);

  }

  int add(int i){

  System.out.println("j= "+j);

  j++;

  System.out.println("ss= "+ss);

  return i*ss;

  }

  }

  運行結果是:

  this is parents = 880

  k= 0

  this is parents m=add(8) = 888

  f=888

  this is parents = 880

  j= 0

  ss= 0

  this is parents m=add(8) = 0

  this in childe print parents = 0

  j= 1

  ss= 111

  s=111 t= 999

  輸出完成 (耗時(shí) 0 秒) - 正常終止

  從這里可以看出,子類(lèi)繼承父類(lèi)后。在創(chuàng )建子類(lèi)對象時(shí),首先初始化父類(lèi)的無(wú)參構造函數F511()執行其中的方法。由于父類(lèi)無(wú)參構造方法中add()方法被子類(lèi)重寫(xiě)了,因此父類(lèi)調用子類(lèi)的add()方法,這就是為什么會(huì )輸出j=0,又由于父類(lèi)中沒(méi)有ss變量,所以ss默認就為0.所以父類(lèi)初始化后,m=0了。然后才在初始化子類(lèi)無(wú)參構造函數S511()。由于m變成了0,所m+=ss,就為111了。這就是創(chuàng )建子類(lèi),函數初始化的過(guò)程。

  所以,在構造器中有應避免調用可能被改寫(xiě)的方法,不然上上面會(huì )出現某些意想不到的結果。

【sun認證考試:java子對象創(chuàng )建過(guò)程】相關(guān)文章:

sun java認證考試介紹10-23

Sun java認證考試答案11-06

Sun Java認證考試科目08-30

sun java認證考試報考指南10-18

SUN JAVA認證介紹08-09

Sun認證Java開(kāi)發(fā)員考試介紹10-09

sun認證考試:Java.io的使用08-23

Sun Java認證考試教材教輔09-13

Sun java認證考試真題答案09-25

sun java認證報考指南09-07

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频