package jiekou1;

public interface ShapePara
{
//定义常量PI
final double PI=3.14;
//定义抽象方法
//获得图形面积
double getArea(); //获得图形周长
double getCircumference(); }
package jiekou1;

public class Circle implements ShapePara {

    //定义成员变量
public double radius;
public double x;
public double y; //定义构造方法
Circle(double radius)
{
this.radius=radius;
this.x=0;
this.y=0;
} //定义成员方法
//返回半径的值
double getRadius()
{
return radius;
} //写入圆心的坐标
void setCenter(double x, double y)
{
this.x=x;
this.y=y;
} //写入圆的半径
void setRadius(double radius)
{
this.radius=radius;
} //完善得到面积和周长的方法
@Override
public double getArea() { return PI*radius*radius;
} @Override
public double getCircumference() { return 2*PI*radius;
} }
package jiekou1;

public class Shape
{
//成员变量
private ShapePara sp; public ShapePara getSp() {
return sp;
}
public void setSp(ShapePara sp) {
this.sp = sp;
}
//定义成员方法获得图形面积
void getArea()
{
System.out.println(sp.getArea());
}
//定义成员方法获得图形周长
void getCircumference()
{
System.out.println(sp.getCircumference());
}
}
package jiekou1;

public class Rect extends Shape
{
//定义成员变量
private double a;
private double b;
public double getA() {
return a;
}
public void setA(double a) {
this.a = a;
}
public double getB() {
return b;
}
public void setB(double b) {
this.b = b;
} void getArea()
{
System.out.println("矩形的面积为:"+a*b);
} }
package jiekou1;

public class Text_mianji {

    public static void main(String[] args) {

        Shape yy= new Shape();

        //匿名对象
Circle cl= new Circle(5);
cl.setCenter(0, 1);
cl.setRadius(12);
yy.setSp(cl);
System.out.println("圆的圆心坐标为:("+cl.x+","+cl.y+")");
System.out.println("半径为:"+cl.radius);
System.out.print("圆的面积为:");
yy.getArea();
System.out.print("圆的周长为:");
yy.getCircumference(); //实例化矩形对象
Rect re = new Rect();
re.setA(20);
re.setB(12.5);
System.out.println("矩形的长为:"+re.getA()+" 矩形的宽为:"+re.getB());
re.getArea(); } }

1.(1)编写一个接口ShapePara,要求: 接口中的方法: double getArea():获得图形的面积。double getCircumference():获得图形的周长 (2)编写一个圆类Circle,要求:圆类Circle实现接口ShapePara。 该类包含有成员变量: radius:public 修饰的double类型radius,表示圆的半径。 x:private修饰的dou的更多相关文章

  1. (1)编写一个接口ShapePara,要求: 接口中的方法: int getArea():获得图形的面积。int getCircumference():获得图形的周长 (2)编写一个圆类Circle,要求:圆类Circle实现接口ShapePara。 该类包含有成员变量: radius:public 修饰的double类型radius,表示圆的半径。 x:private修饰的double型变量x,

    package com.hanqi.test; //创建接口 public interface ShapePara { //获取面积的方法 double getArea(); //获取周长的方法 do ...

  2. 1.(1)编写一个接口ShapePara,要求: 接口中的方法: int getArea():获得图形的面积。int getCircumference():获得图形的周长 (2)编写一个圆类Circle,要求:圆类Circle实现接口ShapePara。 该类包含有成员变量: radius:public 修饰的double类型radius,表示圆的半径。 x:private修饰的double型变量

    //接口 ShapePara package d922B; public interface ShapePara { int getArea(); int getCircumference(); } ...

  3. 定义一个Person类,其中包括:1.定义属性:姓名、年龄、民族作为成员变量。定义静态成员变量:人数2.定义构造方法:对成员变量进行初始化。3.定义多个方法:分别显示相应的属性值,例如getName(){System.out.print("名称="+name+";"); }4.定义一个方法“成长”:实现年龄的增加,每执行一次年龄增加1

    题目显示不全,完整题目描述: (1)定义一个Person类,其中包括:1.定义属性:姓名:年龄:民族作为成员变量.定义静态成员变量:人数2.定义构造方法:对成员变量进行初始化.3.定义多个方法:分别显 ...

  4. 【Java学习笔记之二十二】解析接口在Java继承中的用法及实例分析

    一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为( ...

  5. 【Java】对象、类(抽象类与内部类)、接口

    博文内容概况 对象和类 抽象类 接口 内部类 对象和类 对象是对客观事物的抽象,类是对对象的抽象.类是一种数据类型,其外观和行为由用户定义.类中可以设置两种类型的元素:字段(有时被称为数据成员)和方法 ...

  6. java常用类详细介绍及总结:字符串相关类、日期时间API、比较器接口、System、Math、BigInteger与BigDecimal

    一.字符串相关的类 1.String及常用方法 1.1 String的特性 String:字符串,使用一对""引起来表示. String声明为final的,不可被继承 String ...

  7. OC基础--对成员变量的封装

    #import <Foundation/Foundation.h> //日期结构体 typedef struct{ int year; int month; int day; } Date ...

  8. 从汇编看c++中指向成员变量的指针(二)

    在从汇编看c++中指向成员变量的指针(一)中讨论的情形没有虚拟继承,下面来看看,当加入了虚拟继承的时候,指向成员变量的指针有什么变化. 下面是c++源码: #include <iostream& ...

  9. C++成员变量与函数内存分配

    关于结构体和C++类的内存地址问题 C++类是由结构体发展得来的,所以他们的成员变量(C语言的结构体只有成员变量)的内存分配机制是一样的.下面我们以类来说明问题,如果类的问题通了,结构体也也就没问题啦 ...

随机推荐

  1. python脚本工具-1 制作爬虫下载网页图片

    参考:http://www.cnblogs.com/fnng/p/3576154.html 本文参考虫师的博客“python实现简单爬虫功能”,整理分析后抓取其他站点的图片并下载保存在本地. 抓取图片 ...

  2. Android invalidate()自动清屏,屏幕刷新

    invalidate()是用来刷新View的,必须是在UI线程中进行工作.比如在修改某个view的显示时,调用invalidate()才能看到重新绘制的界面.invalidate()的调用是把之前的旧 ...

  3. 对C#中的web访问mysql数据库的一些知识点进行了整理归纳总结

    基本对比 使用方式 使用场合 优缺点 是否需要安装 需要的dll网址 引用方式 程序内引用 程序初期确定使用MySql,前期添加引用 大多数情况下使用在类文件内,多数使用于aspx,ashx等带有后置 ...

  4. JAVA并行框架学习之ForkJoin

    当硬件处理能力不能按照摩尔定律垂直发展的时候,选择了水平发展,多核处理器已经广泛应用.未来随着技术的进一步发展,可能出现成百上千个处理核心,但现有的程序运行在多核心处理器上并不能得到较大性能的提升,主 ...

  5. FormsAuthentication实现单点登录

    原文地址:http://www.wlm.so/Article/Detail/lmb48bk9f690n00000 单点登录,这种在网络非常常见,在这里讨论的是实现同一主域下的子站间的单点登录,同样也适 ...

  6. PHP简单下载

    ·php escapeshellcmd多字节编码漏洞 ·详细讲解PHP中缓存技术的应用 ·利用PHP V5开发多任务应用程序 ·详细解析 PHP 向 MySQL 发送数据过程 ·PHP实现静态发布的方 ...

  7. ORACLE:profile的管理

    PROFILE的管理(资源文件)      当需要设置资源限制时,必须设置数据库系统启动参数RESOURCE_LIMIT,此参数默认值为FALSE      可以使用如下命令来启动当前资源限制:    ...

  8. DB2创建序列

    一.创建序列 序列是按照一定的规则生产的数值,序列的作用非常的大,比如银行交易中的流水号,就是记录每笔交易的关键字段. 通过create sequence语句创建序列,具体语法如下: >> ...

  9. 多线程程序设计学习(9)worker pattern模式

    Worker pattern[工作模式]一:Worker pattern的参与者--->Client(委托人线程)--->Channel(通道,里边有,存放请求的队列)--->Req ...

  10. GitHub进一步了解

    为什么要引入Git: 1)用简单一点的例子来讲: 一个公司有几个甚至十几个人共同合作开发一款项目的时候,公司对项目代码有明确规范,不可能再像学校做的小项目一样,你觉得哪个同学的代码写的不好,或者和你的 ...