继承

1、编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类E。要求:

(1) Monkey类中有个构造方法:Monkey (String s),并且有个public void speak()方法,在speak方法中输出“咿咿呀呀......”的信息。

(2)People类是Monkey类的子类,在People类中重写方法speak(),在speak方法中输出“小样的,不错嘛!会说话了!”的信息。

(3)在People类中新增方法void think(),在think方法中输出“别说话!认真思考!”的信息。

(4)在主类E的main方法中创建Monkey与People类的对象类测试这2个类的功能。

package 类的继承;
public class Monkey{
    public  Monkey(String s){
        this.s=s;
    }
    protected String s;
    public void speak(){
        System.out.println(s+": 咿咿呀呀....");
    }
    }
     class People extends Monkey{
        public People(String s) {
            super(s);         
        }
        public  void speak(){
            System.out.println(s+": 不错嘛!会说话了!");
        }
        public void think(){
            System.out.println(s+": 别说话!认真思考!");
        }  
    }
package 类的继承;
public class tests{
 public static void main(String[] args){
          Monkey m = new Monkey("猴子");
           m.speak();
           People p=new People("人类");
            p.speak();
           p.think();     
           }
        }

 

 

2.按要求编写一个Java应用程序:

(1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。

(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性,和计算体积的方法。

(3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、宽、高,输出其底面积和体积。

package 类的继承;
public class Rectangle{
    public Rectangle(float a,float b){ 
        length = a;
         wide = b;
     }
      float length;
     float wide;
     public float GetArea(){
         return length * wide;
     }
}
  class  Num extends Rectangle{
     public Num(float a,float b,float h){
         super(a,b);
         height=h;
     }
     float height;
     public float GetVolume(){
         return length * wide * height;
     }
  }
package 类的继承;
public class tests2 {
    public static void main(String[] args){
       Num s = new Num(3,4,5);       
        System.out.println("长为"+s.length+"宽为"+s.wide+"高为"+s.height+"的长方体");
        System.out.println("底面面积为:"+ s.GetArea());
        System.out.println("体积为:"+ s.GetVolume());     
    }
}

3.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功能。

package 类的继承;
public class Vehicle {
  public Vehicle(int wh,double we) {
      Vehicle.wheels =wh;
      Vehicle.weight =we;
  }  
  static int wheels;
  static double weight;
  public void ShowMessage(){
      System.out.println("汽车轮数:"+wheels+"车重:"+weight);
  }
}
  class car extends Vehicle{
      public car(int wh,double we,int lo){
          super(wheels, weight);
          car.loader=lo;
      }
      static int loader;
      public void ShowMessage(){
          System.out.println("轿车轮数:"+wheels+"车重:"+weight+"载人数:"+loader);
      }
  }
  class truck extends car{
      public truck(int wh,double we,int lo,int pay){
          super(wheels, weight,loader);
          this.payload=pay;
      }
      int payload;
      public void ShowMessage(){
          System.out.println("卡车轮数:"+wheels+"车重:"+weight+"载人数:"+loader+"载重量"+payload);
      }
  }
package 类的继承;

public class tests3 {
    public static void main(String[] args){
         Vehicle s= new Vehicle(4, 1000);
         s.ShowMessage();
         car s2 = new car(4, 800, 4);
          s2.ShowMessage();
         truck s3 = new truck(8, 1400, 2, 8000);
         s3.ShowMessage();
        }
    }

 

 

 

posted on 2019-05-12 01:32  孙泽玺  阅读(118)  评论(0编辑  收藏  举报

导航