JAVA第六周作业

实验报告五

第一题

1、设计一个类层次,定义一个抽象类--形状,其中包括有求形状的面积的抽象方法。 继承该抽象类定义三角型、矩形、圆。 分别创建一个三角形、矩形、圆存对象,将各类图形的面积输出。
注:三角形面积s=sqrt(p*(p-a)*(p-b)*(p-c)) 其中,a,b,c为三条边,p=(a+b+c)/2

实验代码

package Output;

  abstract class Shuchu{
public abstract double area();
}
package Output;
import java.util.*; class triangle extends Shuchu{
private double a;
private double b;
private double c;
private double p;
public triangle(double a,double b,double c) {
setA(a);
setB(b);
setC(c);
setP((a+b+c)/2);
}
public double area() {
return Math.sqrt(getP()*(getP()-getA())*(getP()-getB())*(getP()-getC()));
}
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;
}
public double getC() {
return c;
}
public void setC(double c) {
this.c = c;
}
public double getP() {
return p;
}
public void setP(double p) {
this.p = p;
}
public void output1() {
System.out.println("三角形面积:"+area());
}
}
class rectangle extends Shuchu{
private double a;
private double b;
public double area() {
return a*b;
}
public rectangle(double a,double b) {
setA(a);
setB(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;
} public void output2() {
System.out.println("矩形面积:"+area());
}
}
class circle extends Shuchu{
private double radius;
public double area() {
return (Math.PI*Math.pow(radius, 2));
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public circle(double radius) {
setRadius(radius);
}
public void output3() {
System.out.println("圆面积:"+area());
}
}
package Output;

public class Test{
public static void main(String[] args){
triangle tr=new triangle(2,2,2);
rectangle re=new rectangle(1,2);
circle cr=new circle(1);
tr.output1();
re.output2();
cr.output3();
}
}

运行结果

第二题

1定义接口Shape,其中包括一个方法size(),设计“直线”、“圆”、类实现Shape接口。分别创建一个“直线”、“圆”对象,将各类图形的大小输出。

实验代码

package Diqizhou;
import Diqizhou.Shape; interface Shape{
public void size();
}
class Xingzhuang{
public static void size(Shape shape) {
shape.size();
}
}
package Diqizhou;
import java.util.*; class Straight implements Shape{
private double length;
public Straight(double length) {
setLength(length);
}
public void size() {
System.out.println("直线长度:"+getLength());
}
public double getLength() {
return length;
}
public void setLength(double length) {
this.length = length;
}
}
class Circle implements Shape{
private double radius;
public void size() {
System.out.println("圆面积:"+Math.PI*Math.pow(radius, 2));
}
public Circle(double radius) {
setRidus(radius);
}
public double getRadius() {
return radius;
}
public void setRidus(double radius) {
this.radius = radius;
} }
package Diqizhou;
public class Consequence {
public static void main(String[] args){
Straight st=new Straight(1);
Circle cr=new Circle(1);
st.size();
cr.size();
}
}

运行结果

学习总结

1、一个栈内存只能够保存一个堆内存空间的地址。,若想再指向其他的堆内存空间,则必须先断开已有的指向才能分配新的指向。

2、只要是被封装的属性,则必须通过setter()和getter()方法设置和取得。

3、setter()方法进行内容得赋值。

4、类中全部属性都必须封装。

5、用private声明得属性和方法只能在其类的内部被调用,而不能在类的外部被调用。

6、若要强调是本类中的方法,也可以在调用时按“this.方法名称()”的形式编写。

7、main方法不写在抽象类(规范性)。

8、如果抽象类和接口都可以使用时,优先室使用接口,因为可以避免单继承的局限。

9、Object类中toString()方法可直接输出。

10、Object类中的equals()方法默认是比较地址。

学习心得

好好学习,天天向上。

JAVA实验报告及第七周总结的更多相关文章

  1. JAVA实验报告及第八周总结

    JAVA第八周作业 实验报告六 实验一 编写一个类,在其main()方法中创建一个一维数组,在try字句中访问数组元素,使其产生ArrayIndexOutOfBoundsException异常.在ca ...

  2. JAVA实验报告及第九周总结

    Java第九周作业 实验报告七 实验任务详情: 完成火车站售票程序的模拟. 要求: (1)总票数1000张: (2)10个窗口同时开始卖票: (3)卖票过程延时1秒钟: (4)不能出现一票多卖或卖出负 ...

  3. java实验报告&第三周学习总结

    实验报告: 实验1:求水仙花数在C语言中求水仙花数是一个复杂且长的代码,在java中可以通过简单的代码来实现操作,找出水仙花数: 图例如下: 试验2:求13+23-33+43-53.........9 ...

  4. 第九周课程总结 & 实验报告(七)

    第九周课程总结 一.多线程 1.线程的状态 2.线程操作的相关方法 二.Java IO 1.操作文件的类---File ()基本介绍 ()使用File类操作文件 .RandomAccessFile类 ...

  5. 20155310第一周JAVA实验报告

    20155310第一周JAVA实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 使用JDK和IDE编译.运行简单 ...

  6. 20145310第一周JAVA实验报告

    20145310第一周JAVA实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 使用JDK和IDE编译.运行简单 ...

  7. 第六周学习总结&java实验报告四

    第六周学习总结&java实验报告四 学习总结: 上一周因为接近国庆假期,所以老师没有讲太多的新知识点,只要是带我们一起做了一个动物模拟变声器的实验,进一步了解和学习到继承的 有关知识点和应用: ...

  8. 第七次java实验报告

    Java实验报告 班级 计科二班 学号20188437 姓名 何磊 完成时间 2019/10/25 评分等级 实验四 类的继承 实验内容 )总票数1000张:(2)10个窗口同时开始卖票:(3)卖票过 ...

  9. 20135231 JAVA实验报告三:敏捷开发与XP实践

    ---恢复内容开始--- JAVA实验报告三:敏捷开发与XP实践 20135231 何佳 实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习 ...

随机推荐

  1. spring容器的refresh方法分析

    spring源码版本5.0.5 Spring容器创建之后,会调用它的refresh方法刷新Spring应用的上下文. 首先整体查看AbstractApplicationContext#refresh源 ...

  2. Java数据库小项目01--实现用户登录注册

    先实现数据库和数据表,检测正常后再做其他的 CREATE TABLE users( username ) NOT NULL, PASSWORD ) NOT NULL); INSERT INTO use ...

  3. 小技巧——直接在目录中输入cmd然后就打开cmd命令窗口

    直接在目录中输入cmd然后就打开cmd命令窗口

  4. Spring Boot系列目录

    1.spring mvc 接口动态注入 FactoryBean ImportBeanDefinitionRegistrar ClassPathScanningCandidateComponentPro ...

  5. 图论之tarjan真乃神人也,强连通分量,割点,桥,双连通他都会

    先来%一下Robert Tarjan前辈 %%%%%%%%%%%%%%%%%% 然后是热情感谢下列并不止这些大佬的博客: 图连通性(一):Tarjan算法求解有向图强连通分量 图连通性(二):Tarj ...

  6. 北京清北 综合强化班 Day1

    a [问题描述]你是能看到第一题的 friends呢.                                                         —— hja何大爷对字符串十分有 ...

  7. delphi将两个Strlist合并,求交集 (保留相同的)

    Function StrList_Join(StrListA,StrListB:String):String; //将两个Strlist合并,求交集 (保留相同的) var SListA,SListB ...

  8. Towers of Hanoi Strike Back (URAL 2029)

    Problem The Tower of Hanoi puzzle was invented by French mathematician Édouard Lucas in the second h ...

  9. MIME协议(四) -- MIME消息的头字段

    MIME消息的头字段 4.1  Content-Type 对于表示某个具体资源的MIME消息,它的消息头中需要指定资源的数据类型:对于MIME组合消息,它的消息头中需要指定组合关系.具体资源的数据类型 ...

  10. addEventListener 事件监听器 冒泡事件)

    addEventListener 事件监听器 (冒泡事件)   1.后面绑定的事件照样会执行 2.不会被覆盖 3.调用者是事件源but.addEventListener 4.参数1,事件名(不带on ...