j2se

package service;

public abstract class AbstractDrive {
 abstract void drive(); //抽象方法必须 被子类实现
 void test(){
  System.out.print("This is a abstract class");
 };
}

package service;

public class Drive extends AbstractDrive{
 private String father1 = "father class's object";
 
 void drive(){
  System.out.print("FatherClass is drive now");
 }
 
 private void fatherDrive(){
  System.out.print("Father's private method");
 }
}

package service;

public interface Fire {

 void fireInGun();
 void fireInBomb();
 
}

package service;

public class MakePlane extends Drive implements Fire{
 
 private int defaultSize = 1000;
 int weight = 50000;
 
 //below method must implement
 @Override
 public void fireInGun() {
  // TODO Auto-generated method stub
  System.out.print("fire in gun");
 }
 @Override
 public void fireInBomb() {
  // TODO Auto-generated method stub
  System.out.print("fire in Bomb");
 }
 
 
}

package service;

import java.util.ArrayList;

public class MakeTank extends Drive{
 
 static double pi = 3.14;
 int defaultSize = 100;
 
 MakeTank(){}

 public static void main(String[] args) {
  MakeTank tank1 = new MakeTank();
  //tank1.makeSmallTank();
  //tank1.makeSmallTank(200); //重载
  
  MakePlane plane1 = new MakePlane();
  int w = plane1.weight; //plane1's size cannot be accessed, weight can
  
  Drive d = new MakeTank();
  d.drive();//sub extends father's method
  
 }
 
 //重载
 void makeSmallTank(int size){
  System.out.println("has made a tank size: "+size);
 }
 void makeSmallTank(){
  System.out.println("has made a tank size: "+defaultSize);
 }
 
 //重写
 //void drive(){System.out.print("Sub Class is driving");} //if hiddeded, father's method run

}

猜你喜欢

转载自xingzhiyang2016.iteye.com/blog/1930818