zoukankan      html  css  js  c++  java
  • 2020.8.19

    一、今日学习内容

      1、定义一个哺乳动物类Mammal,再由此派生出狗类Dog,定义一个Dog类的对象,观察基类和派生类的构造函数的调用顺序。

    复制代码
     1 //基类:Mammal类
     2 public class Mammal {
     3     protected float weight,height;
     4     Mammal(float w,float h){
     5         weight=w;
     6         height=h;
     7         System.out.println("Mammal类构造函数");
     8     }
     9 }
    10 //派生类:Dog类
    11 public class Dog extends Mammal{
    12     private float tail;
    13     Dog(float w,float h,float t){
    14         super(w,h);
    15         tail=t;
    16         System.out.println("Dog类构造函数");
    17     }
    18     public void show() {
    19         System.out.println("身高:"+height+"米"+"\n体重"+weight+"千克\n"+"尾巴:"+tail+"米\n");
    20     }
    21 
    22     public static void main(String[] args) {
    23         Dog x=new Dog((float)15,(float)0.8,(float)0.2);
    24         x.show();
    25     }
    26 }
    复制代码

      2、定义一个Document类,有数据成员name,从Document派生Book类,增加数据成员pageCount。

    复制代码
     1 //Document类:
     2 public class Document {
     3     protected String name;
     4     Document(String n){
     5         name=n;
     6     }
     7 }
     8 //Book类:
     9 public class Book extends Document {
    10     private int pageCount;
    11     Book(String n,int p){
    12         super(n);
    13         pageCount=p;
    14     }
    15     public void show() {
    16         System.out.println("文件名:"+name+"\n页数:"+pageCount);
    17     }
    18 
    19     public static void main(String[] args) {
    20         Book a=new Book("书",100);
    21         a.show();
    22     }
    23 }
    复制代码

    3、定义一个基类Shape,在此基础上派生出Rectangle和Circle,二者都有getArea()函数计算对象的面积。使用Rectangle类创建一个派生类Square。

    //Shape类:
    public abstract class Shape {
        public abstract void getArea();
    }
    //Rectangle类:
    public class Rectangle extends Shape{
        private float l,w;
        Rectangle(float l1,float w1){
            l=l1;
            w=w1;
        }
        public void getArea() {
            float a;
            a=l*w;
            System.out.println("形状:矩形");
            System.out.println("该图形面积为:"+a);
        }
    }
    //Circle类:
    public class Circle {
        private float r;
        Circle(float r1){
            r=r1;
        }
        public void getArea() {
            float a;
            a=(float)3.14*r*r;
            System.out.println("形状:圆形");
            System.out.println("该图形的面积为:"+a);
        }
    }
    //Square类:
    public class Square extends Rectangle {
        Square(float a){
            super(a,a);
        }
    }
    //测试类:
    import java.util.*;
    public class Test2 {
        public static void main(String[] args) {
            float x,y,r;
            System.out.println("请输入边长:");
            Scanner con=new Scanner(System.in);
            x=con.nextFloat();
            y=con.nextFloat();
            Rectangle rec=new Rectangle(x,y);
            rec.getArea();
            System.out.println("请输入半径:");
            r=con.nextFloat();
            Circle cir=new Circle(r);
            cir.getArea();
        }
    }

    二、遇到的问题

      无。

    三、明日计划

      继续完成相关例题的验证。

  • 相关阅读:
    .editorconfig
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    《大道至简》读后感
    每日日报
    每日日报
    每日日报
  • 原文地址:https://www.cnblogs.com/marr/p/13582868.html
Copyright © 2011-2022 走看看