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. 113. Path Sum II

    题目: Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the give ...

  2. P127、面试题20:顺时针打印矩阵

    题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字.例如:如果输入如下矩阵:1  2  3  4 5  6  7  89  10  11  1213  14  15  16则依次打印出 ...

  3. 主机头部分 www有和无是有区别的

    关于主机部分www的问题: case 1: frontend web_service bind *:80 bind *:443 ssl crt /etc/haproxy/cert.pem acl ww ...

  4. Git教程(2)官方命令文档及常用命令表

    http://www.cnblogs.com/angeldevil/archive/2013/11/26/3238470.html 1,官方命令文档 http://www.git-scm.com/do ...

  5. 【开源推荐】AllJoyn:打造全球物联网的通用开源框架

    摘要:随着智能设备的发展,物联网逐渐进入了人们的生活.据预测,未来几乎一切东西(超过500亿台设备)都可以互联.高通公司发布了开源项目AllJoyn,这是一个能够使连接设备间进行互操作的通用软件框架和 ...

  6. 【HDOJ】3473 Minimum Sum

    划分树解.主席树解MLE. /* 3473 */ #include <iostream> #include <sstream> #include <string> ...

  7. [转] Android自动化测试之使用java调用monkeyrunner(五)

    Android自动化测试之使用java调用monkeyrunner 众所周知,一般情况下我们使用android中的monkeyrunner进行自动化测试时,使用的是python语言来写测试脚本.不过, ...

  8. 解决ImportError: cannot import name HTTPConnection的方法

    在写python程序的时候,使用from httplib import HTTPConnection,在run的时候提示ImportError: cannot import name HTTPConn ...

  9. Erlang入门(五)——补遗

    暂时搞不到<Programming Erlang>,最近就一直在看Erlang自带的例子和Reference Manual.基础语法方面有一些过去遗漏或者没有注意的,断断续续仅记于此. 1 ...

  10. Android 数据传输之MessagePack使用

    介绍过什么是MessagePack之后,就进行Android与MessagePack的使用. 在MessagePack的官网上介绍MessagePack与Java结合使用的都是使用Maven作为JAR ...