牛刀小试,MMP;嘿嘿,如有转载,请声明地址http://www.cnblogs.com/jinmoon/;

图形类,点类,三角形类,汽车类,接口;运用继承,抽象类,接口,多态;已知点类三点,输出三点;三角形类周长,面积;汽车标志;

public class Test {
public static void main(String[] args) {
SS p,w,e,r,t;
Point P1=new Point("hong",1, 2);
Point P2=new Point("huang",15, 4);
Point P3=new Point("nan",21, 12);
San san=new San("hei", P1, P2, P3);
Car car=new Car("baoma");
p=P1;w=P2;e=P3;r=san;t=car;
Test kk=new Test();
kk.showAnny(p);
kk.showAnny(w);
kk.showAnny(e);
kk.showAnny(r);
kk.showAnny(t);
}
public void showAnny(SS p)
{
p.show2();
}

}
class Point extends Shape implements SS //点类
{
double x,y;
public Point( double x,double y)
{
this.x=x;
this.y=y;
}

public Point(String color, double x,double y)
{
super(color);
this.x=x;
this.y=y;
}
public double getX()
{
return x;
}
public double getY()
{
return y;
}
public String show()
{
return "("+x+","+y+")";
}
public double zhouChang()
{
return 0;
}
public void show2()
{
System.out.print( super.toString()+" "+"Point;"+"("+x+","+y+")"+"\n周长是:"+zhouChang());
}
}

class San extends Shape implements SS //三角形类
{
double q,s,h;
double a,b,c;
Point P1;
Point P2;
Point P3;
public San(String color,Point p1,Point p2,Point p3)
{
super(color);
this.P1=p1;
this.P2=p2;
this.P3=p3;
}
public double getA()
{
a=Math.round(Math.sqrt((P1.getX()-P2.getX())*(P1.getX()-P2.getX())+(P1.getY()-P2.getY())*(P1.getY()-P2.getY())));
return a;
}
public double getB()
{
b=Math.round(Math.sqrt((P1.x-P3.x)*(P1.x-P3.x)+(P1.y-P3.y)*(P1.y-P3.y)));
return b;
}
public double getC()
{
c=Math.round(Math.sqrt((P3.x-P2.x)*(P3.x-P2.x)+(P3.y-P2.y)*(P3.y-P2.y)));
return c;
}
public double getS()
{

q=(a+b+c)/2;
s=Math.round(Math.sqrt(q*(q-a)*(q-b)*(q-c)));
return s;
}
public double mianJi()
{
getA();
getB();
getC();
if(a+b>c&&a-b<c)
{
s=getS();
return s;
}
else
{
return 0;
}
}
public double zhouChang()
{
h=getA()+getB()+getC();
return h;
}
public void show2()
{
System.out.print( super.toString()+"\nA=:"+P1.show()+"\nB:="+P2.show()+"\nC;="+P3.show()+"\n周长是:"+zhouChang()+"\n面积是:"+mianJi());
}

}
abstract class Shape //抽象的图形类
{
private String color;
public Shape(){}
public Shape(String color)
{
this.color=color;
}
public abstract double zhouChang();
public String toString()
{
return "\nColor:"+color;
}
}
interface SS //接口,抽象的一个输出方法
{
void show2();
}
class Car implements SS //汽车类
{
String logal;
public Car(String logal)
{
this.logal=logal;
}
public void show2()
{
System.out.print("\nlogal是 "+logal);
}
}

java基础部分的简单应用的更多相关文章

  1. java基础(1-50)-------->超级简单,不信你不会!!!

    1:java中的保留字:const&goto; 2:&和&&都可以做逻辑运算符,即运算符两边的表达式都为true,结果才为true,一方为false,则结果为false ...

  2. Java基础_0305:简单Java类

    简单Java类 简单Java类是一种在实际开发之中使用最多的类的定义形式,在简单Java类中包含有类.对象.构造方法.private封装等核心概念的使用,而对于简单Java类首先给出如下的基本开发要求 ...

  3. java基础---->hashSet的简单分析(一)

    对于HashSet而言,它是基于HashMap实现的,底层采用HashMap来保存元素的.今天我们就简单的分析一下它的实现.人生,总会有不期而遇的温暖,和生生不息的希望. HashSet的简单分析 一 ...

  4. JAVA基础——设计模式之简单工厂模式

    在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式.简单工厂模式是由一个工厂 ...

  5. java基础---->hashMap的简单分析(一)

    HashMap是一种十分常用的数据结构对象,可以保存键值对.它在项目中用的比较多,今天我们就来学习一下关于它的知识. HashMap的简单使用 一.hashMap的put和get方法 Map<S ...

  6. JAVA基础——文件File简单实用

    1.1java.io.File File用于表示文件系统中的一个文件或目录 通过File可以: 1:访问该文件或目录的属性信息(名字,大小,修改时间等) file.getName();获取文件名fil ...

  7. java 学习第一篇简单基础

    Java基础 Java Java 和C#有着极为相似的语法. 和C#都是面向对象的高级程序语言. JAVA是一个开源,公开的语言,有着极其丰富的开源库和其他资源. JAVA分类 JAVA分SE EE ...

  8. JAVA 基础开发环境 vscode 搭建 Windows下VSCode编译运行简单java

    JAVA 基础开发环境 vscode 搭建 来源 https://www.cnblogs.com/freewsf/p/7744728.html 对于使用 Visual Studio Code 的 Ja ...

  9. Java基础学习-- 继承 的简单总结

    代码参考:Java基础学习小记--多态 为什么要引入继承? 还是做一个媒体库,里面可以放CD,可以放DVD.如果把CD和DVD做成两个没有联系的类的话,那么在管理这个媒体库的时候,要单独做一个添加CD ...

随机推荐

  1. Maven项目构建管理

    一.Maven的作用 在开发中,为了保证编译通过,我们会到处去寻找jar包,当编译通过了,运行的时候,却发现"ClassNotFoundException",我们想到的是,难道还差 ...

  2. IE页面刷新ocx插件被释放,野指针非阻塞Sleep问题。

    做一个视频页面,自动化测试的时候崩溃.排查了半天,才发现虚表为NLL,然后调用的已经释放对象里面的函数. 问题出在哪呢?出在了左边的非阻塞Sleep的地方.对象已经释放掉了,但是好在阻塞循环,调用st ...

  3. 前端性能优化jQuery性能优化

    一.使用合适的选择器 $("#id"); 1.使用id来定位DOM元素无疑是最佳提高性能的方式,因为jQuery底层将直接调用本地方法document.getElementById ...

  4. ES6模块之export和import详解

    ES6中的模块即使一个包含JS代码的文件,在这个模块中所有的变量都是对其他模块不可见的,除非我们导出它.ES6的模块系统大致分为导出(export)和导入(import)两个模块. 1.模块导出(ex ...

  5. [译]ASP.NET Core 2.0 视图引擎

    问题 如何在ASP.NET Core 2.0中使用Razor引擎来创建视图? 答案 新建一个空项目,修改Startup.cs,添加MVC服务和请求中间件: public void ConfigureS ...

  6. 树的三种遍历方式(C语言实现)

    //************************************************************************* // [前序]遍历算法 //二叉树不空,先访问根 ...

  7. Jacobi symbol(裸雅可比符号)

    Jacobi symbol Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

  8. [译]ASP.NET Core 2.0 布局页面

    问题 如何在ASP.NET Core 2.0项目中共享可见元素.代码块和指令? 答案 新建一个空项目,首先添加GreetingService服务和UserViewModel模型: public int ...

  9. ASP.NET Core 2.0 集成测试无法执行的问题

    问题表现: Microsoft.AspNetCore.Mvc.Razor.Compilation.CompilationFailedException : One or more compilatio ...

  10. 使用qt制作一个简单的计算器

    前言:今天使用qt制作了一个很简单的计算器,觉得挺有意思的,所以在这里跟大家分享一下. 这里先跟大家说说使用到的函数: 一.槽连接函数 connect(信号发送者,发送的信号,信号接收者,信号接收者的 ...