【 ¥O。无所谓好与坏 …… 用心了就足够了·】

想孙老师学习java第四天

上一篇 / 下一篇  2007-10-24 21:18:18 / 个人分类:Java

1.垃圾回收:java中会自动处理垃圾回收。当内存不够时才会自动运行。手动运行的话,用System.gc(); 或者runtime.gc(); 。在垃圾回收之前,会先调用finalize()方法,如果不能自动回收或者系统认为没有回收的必要,可再用手动,但也不肯定能一定回收,只是提高回收的几率。
例如:
class rubish{
   int index;
   static int count;
  rubish(){
   count++;
   System.out.println(count);
   setID(count);
  }
  void setID(int id){
  index=id;
  }
  protected void finalize(){                  //protected类型
  System.out.println(count+" is reclaimed");
  }
  public static void main(String[] args){
  new rubish();
  new rubish();
  new rubish();
  System.gc();                       //当自动回收不了的时候,提高回收几率。
  }
}

2.接口:接口都是抽象类。但是,抽象类可以没有派生类,可以在基类中实现方法。但在接口基类中是不能实现方法,而且必须有派生类。这是与抽象类的区别。还有要注意,接口必须实现所有已经定义的变量。否则会出错。
例如:
interface sport{
 void run();                           //默认public abstract 类型
 void jump();
}
class athlete implements sport{      //用implements,且必须同时实现run()和jump()方法。
  public void run(){                     //必须加上public,派生类中引用或覆盖基类的方法的时候,必须要比基类的权限要高,否则编译会出错
  System.out.println("短跑");
 }
 public void jump(){
  System.out.println("三级跳");
 }
public static void main(String[] args){
  athlete s=new athlete();
  s.run();
  s.jump();
 }
}

* 3.接口的一个重要的作用,就是可以用来作为系统开发时,不同模块之间的通信接口。*
例如:(1).文件vcd.java
interface vcd{
 void display();
 String getname();
}
(2).文件dmeng.java
class dmeng implements vcd{
 String name;
 public void dmeng(){                    //这里要注意,方法要返回类型,这里返回了void。返回类型是String的,结束时要有返回语句和返回值。这里如果返回的String,那么这个方法结束前,要return name;
 name="dmeng's vcd";
 }
 public void setname(String name){        //同上
 this.name=name;
 }
 public void display(){
 System.out.println("dmeng is working");
 }
 public String getname(){
 return name;
 }
}
(3).文件mainboard.java
class mainboard{
 vcd vc;
 string strcpu;
 void setcpu(String strcpu){
 this.strcpu=strcpu;
 }
 void setvcd(vcd vc){
 this.vc=vc;
 }
 void run(){
 System.out.println(strcpu);
 System.out.println(vc.getname());
 vc.display;
 System.out.println("mainboard is running");
 }
}
(4).文件computer.java
class computer{
 public static void main(String[] args){
 dmeng d=new dmeng();
 mainboard m=new mainboard();
 m.setcpu("intel's cpu")
 m.setvcd(d);
 m.run();
 }
}
//dmeng的显卡,intel的cpu

4.接口可以多继承,即一个接口可以继承自另一个接口。也用extends。
例如:
interface t{
}
interface c{
}
interface ti extends t{     //一个接口继承自另一个接口
}
interface ci extends t,c{    //多继承
}

5.一个类可以实现多个接口。
interface t{
 void me();
}
interface c{
 void se();
}
class ti impletments t,c{    //实现多接口
  public void me(){}
  public void se(){}
}

6.继承的同时,实现多个接口
interface t{
 void me();
}
interface c{
 void se();
}
class fi impletments me{
 public void me(){}
}
class ti extends fi impletments t,c{    //这里要先写extends再写implements
  public void se(){}
}


TAG: Java

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-08-18  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 6978
  • 日志数: 55
  • 图片数: 1
  • 建立时间: 2007-01-02
  • 更新时间: 2008-01-03

RSS订阅

Open Toolbar