牛刀小试,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. JS深层继承

    我们在书写JS的时候常常被一种现象困扰 let jsonA = { a1: { b1:1; }, }; let jsonB = jsonA; jsonB.a1.b1 = 2; console.log( ...

  2. VS2012环境下C#调用C++生成的DLL

    1.VS2012 C++生成DLL 这个过程仿照http://www.cnblogs.com/LCCRNblog/p/3625200.html创建DLL即可,暂时不用创建测试工程,因为下面有测试工程的 ...

  3. JS模块化-requireJS

    1. 为什么要使用require.js 刚开始的时候,网页需要用到很多不同的插件,都是依次加载,需要注意其中的加载顺序即依赖关系. <script src="1.js"> ...

  4. 0_Simple__cppOverload

    使用cuda内质结构 cudaFuncAttributes 来观察核函数的共享内存.寄存器数量. ▶ 源代码: /*cppOverload_kernel.cuh*/ __global__ void s ...

  5. 基于JQuery EasyUI的WebMVC控件封装(含源码)

    JQuery EasyUI类库,大家不会陌生,出来已经有很多年了.个人感觉还是很好用的,作者更新频率也很快,bug也及时修复. 最近在整理以前的代码,找到了这个组件,它是将EasyUI组件封装成MVC ...

  6. Intellij导入子项目时,maven列表子项目灰色不可用---解决方法

    导入子项目的module时,左侧project目录中有一个module图标右下角没有小蓝点,maven管理列表该module为灰色(表明未被管理),尝试几次后终于找到解决方案. 贴一张调好过后的图 第 ...

  7. KVM管理平台openebula安装

    1.1opennebula控制台的安装 (如果要添加映像需要给200G以上给/var/lib/one,本文是共享/var/lib/one实现监控,用映像出创建虚拟机原理是从opennebula控制平台 ...

  8. 5. 监视和ZooKeeper操作

    ZooKeeper中的写入(write)操作是原子性和持久性的. 写入到大多数ZooKeeper服务器上的持久性存储中,可以保证写操作成功. 无论如何,ZooKeeper的最终一致性模型允许读取(re ...

  9. [转载] ZooKeeper的Java客户端API

    转载自 http://www.cnblogs.com/ggjucheng/p/3370359.html http://zookeeper.apache.org/doc/trunk/javaExampl ...

  10. Vue学习笔记-Vue基础入门

    此篇文章是本人在学习Vue是做的部分笔记的一个整理,内容不是很全面,希望能对阅读文章的同学有点帮助. 什么是Vue? Vue.js (读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式 ...