java继承与多态-3个小题
1、(1)编写一个接口ShapePara,要求: 接口中的方法: int getArea():获得图形的面积。int getCircumference():获得图形的周长
(2)编写一个圆类Circle,要求:圆类Circle实现接口ShapePara。
该类包含有成员变量:
radius:public 修饰的double类型radius,表示圆的半径。
x:private修饰的double型变量x,表示圆心的横坐标。
y:protected修饰的double型变量y,表示圆心的纵坐标。
包含的方法有:
Circle(double radius) 有参构造方法。以形参表中的参数初始化半径,圆心为坐标原点。 double getRadius():获取半径为方法的返回值。void setCenter(double x, double y):利用形参表中的参数设置类Circle的圆心坐标。void setRadius(double radius):利用形参表中的参数设置类Circle的radius域。
public interface ShapePara {
    int getArea();
    int getCircumference();
}
public class Circle implements ShapePara {
    public double radius;
    private double x;
    protected double y;
    Circle(double radius){
        this.radius=radius;
    }
    public double getRadius() {
        return radius;
    }
    public void setRadius(double radius) {
        this.radius = radius;
    }
    public double getX() {
        return x;
    }
    public void setX(double x) {
        this.x = x;
    }
    public double getY() {
        return y;
    }
    public void setY(double y) {
        this.y = y;
    }
    @Override
    public int getArea() {
        // TODO 自动生成的方法存根
        double area=Math.PI*Math.pow(radius, 2);
        return (int)area;
    }
    @Override
    public int getCircumference() {
        // TODO 自动生成的方法存根
        double ference=Math.PI*2*radius;
        return (int)ference;
    }
}
public class TestCircle {
    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        Circle c=new Circle(3);
        System.out.println("半径为3的圆的面积是:"+c.getArea());
        System.out.println("半径为3的圆的周长是:"+c.getCircumference());
    }
}

2、定义图形类Shape,该类中有获得面积的方法getArea();定义长方形类Rect,该类是Shape的子类,类中有矩形长和宽的变量double a,double b,设置长和宽的方法setWidth()、setHeight(),使用getArea()求矩形面积
public class Shape {
    public void getArea(){
        double area=0;
        System.out.println("面积是:"+area);
    }
}
public class Rect extends Shape {
    private double width;
    private double height;
    Rect(double a, double b){
        this.width=a;
        this.height=b;
    }
    public double getWidth() {
        return width;
    }
    public void setWidth(double width) {
        this.width = width;
    }
    public double getHeight() {
        return height;
    }
    public void setHeight(double height) {
        this.height = height;
    }
    public void getArea(){
        System.out.println("面积是:"+(width*height));
    }
}
3、编写Java应用程序,定义Animal类,此类中有动物的属性:名称 name,腿的数量legs,统计动物的数量 count;方法:设置动物腿数量的方法 void setLegs(),获得腿数量的方法 getLegs(),设置动物名称的方法 setKind(),获得动物名称的方法 getKind(),获得动物数量的方法 getCount()。定义Fish类,是Animal类的子类,统计鱼的数量 count,获得鱼数量的方法 getCount()。定义Tiger类,是Animal类的子类,统计老虎的数量 count,获得老虎数量的方法 getCount()。定义SouthEastTiger类,是Tiger类的子类,统计老虎的数量 count,获得老虎数量的方法 getCount()。
public class Animal {
    private String name;
    private int legs;
    private int count;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getLegs() {
        return legs;
    }
    public void setLegs(int legs) {
        this.legs = legs;
    }
    public int getCount() {
        return count;
    }
    public void setCount(int count) {
        this.count = count;
    }
}
public class Fish extends Animal{
    public int getFishCount() {
        setCount(10);
        return getCount();
    }
}
public class Tiger extends Animal{
    public int getTigerCount() {
        setCount(20);
        return getCount();
    }
}
public class SouthEastTiger extends Tiger {
    public int getTigerCount() {
        setCount(10);
        return getCount();
    }
}
public class Test {
    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        Fish f=new Fish();
        Tiger t=new Tiger();
        SouthEastTiger s=new SouthEastTiger();
        System.out.println("鱼有"+f.getFishCount()+"条");
        System.out.println("老虎有"+t.getTigerCount()+"只");
        System.out.println("东北虎有"+s.getTigerCount()+"只");
    }
}

java继承与多态-3个小题的更多相关文章
- Java  继承和多态
		Java 继承和多态 Java 继承 继承的概念 继承是java面向对象编程技术的一块基石,因 ... 
- Java继承与多态
		感慨一下,到了现在感觉Java里面很多东西都是模模糊糊,不能这样了,一点点解决吧.今天看了继承与多态的一些内容,感觉看得很浅,先写下来,算是巩固,如果后面看到更好的内容,再慢慢加上去. 继承与多态,他 ... 
- python面向对象(封装、继承、多态)+ 面向对象小栗子
		大家好,下面我说一下我对面向对象的理解,不会讲的很详细,因为有很多人的博客都把他写的很详细了,所以,我尽可能简单的通过一些代码让初学者可以理解面向对象及他的三个要素. 摘要:1.首先介绍一下面向对象 ... 
- Java继承和多态实例
		我们知道面向对象的三大特性是封装.继承和多态.然而我们有时候总是搞不清楚这些概念.下面对这些概念进行整理, 为以后面向抽象的编程打下坚实的基础. 封装的概念还是很容易理解的.如果你会定义类,那么相信你 ... 
- Java 继承、多态与类的复用
		摘要: 本文结合Java的类的复用对面向对象两大特征继承和多态进行了全面的介绍. 首先,我们介绍了继承的实质和意义,并探讨了继承,组合和代理在类的复用方面的异同.紧接着,我们依据继承引入了多态.介绍了 ... 
- Java继承,多态,组合应用
		继承: 面向对象的三大特征之一: 是类和类之间的一种拓展关系,是一种从一般到特殊的关系; 格式: sub extends Super, 我们把sub称为子类或者拓展类, 把supe ... 
- 四. Java继承和多态4. 多态和动态绑定
		在Java中,父类的变量可以引用父类的实例,也可以引用子类的实例. 请读者先看一段代码: public class Demo { public static void main(String[] ar ... 
- java继承和多态
		父类和子类 如果类C1扩展自另一个类C2,那么C1称为子类或派生类,C2称为父类或基类.派生类可以从它的基类中继承可访问的数据域和方法,还可添加新数据域和新方法 例如:实现一个几何图形基类; clas ... 
- 四. Java继承和多态8.Java final关键字:阻止继承和多态
		在 Java 中,声明类.变量和方法时,可使用关键字 final 来修饰.final 所修饰的数据具有“终态”的特征,表示“最终的”意思.具体规定如下: final 修饰的类不能被继承. final ... 
随机推荐
- iOS /* */多个嵌套解决
			解决办法 #if 0 /* */ #endif 
- css3的2D转换
			CSS3的2D转换用transform来实现 1.rotate() /*通过 rotate() 方法,元素顺时针旋转给定的角度.允许负值,元素将逆时针旋转.*/ 2.scal() /*通过 s ... 
- 初识ASP.NET CORE:三、Middleware
			Middleware are simpler than HTTP modules and handlers:Modules, handlers, Global.asax.cs, Web.config ... 
- SQL Server Profiler使用方法
			一.SQL Server Profiler使用方法 1.单击开始--程序--Microsoft SQL Server 2005--性能工具--SQL Server Profiler,如下图: 2. ... 
- 初步认识JUnit
			初步认识JUnit 目前大多数的基于Java的企业应用软件,肯定少不了单元测试,程序员通过编写单元测试来验证自己程序的有效性:管理者通过持续自动的执行单元测试和分析单元测试覆盖率来确保软件本身的质量. ... 
- NGUI 使用UITable(或UIGrid)注意事项
			在ScrollView显示区域中,若Item数量不足以超出显示区域,有可能不是贴着ScrollView最边缘位置显示!这个时候可以按如下方法调整: 因为实际情况中,往ScrollView中添加Item ... 
- Scrum会议10.19
			Scrum会议 组名称:好好学习 项目名称:记账本 参会成员:林莉(Master)胡丽娜 宫丽君 汪东涵 时间:2016.10.19 已完成内容: 1.完成新项目的查找,查找学姐的代码和项目. 2.理 ... 
- 评估Divide and Conquer算法时间复杂度的几种策略
			算法导论的第四章对于divide-conquer进行了阐述, 感觉这本书特别在,实际给出的例子并不多,更多其实是一些偏向数学性质的分析, 最重要的是告诉你该类算法分析的一般性策略. 估计 首先是估计算 ... 
- Python-Windows下安装BeautifulSoup和requests第三方模块
			http://blog.csdn.net/yannanxiu/article/details/50432498 首先给出官网地址: 1.Request官网 2.BeautifulSoup官网 我下载的 ... 
- iOS全局调用的提示 没有网络 没有更多 等。。  短时间内自动消失
			本来想用SVProgressHUD 但是由于这个需求相对要简单 所以自己写了 下面上代码 .h 文件 #import <UIKit/UIKit.h> @interface HaveNoMo ... 
