java基础部分的简单应用
牛刀小试,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基础部分的简单应用的更多相关文章
- java基础(1-50)-------->超级简单,不信你不会!!!
1:java中的保留字:const&goto; 2:&和&&都可以做逻辑运算符,即运算符两边的表达式都为true,结果才为true,一方为false,则结果为false ...
- Java基础_0305:简单Java类
简单Java类 简单Java类是一种在实际开发之中使用最多的类的定义形式,在简单Java类中包含有类.对象.构造方法.private封装等核心概念的使用,而对于简单Java类首先给出如下的基本开发要求 ...
- java基础---->hashSet的简单分析(一)
对于HashSet而言,它是基于HashMap实现的,底层采用HashMap来保存元素的.今天我们就简单的分析一下它的实现.人生,总会有不期而遇的温暖,和生生不息的希望. HashSet的简单分析 一 ...
- JAVA基础——设计模式之简单工厂模式
在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式.简单工厂模式是由一个工厂 ...
- java基础---->hashMap的简单分析(一)
HashMap是一种十分常用的数据结构对象,可以保存键值对.它在项目中用的比较多,今天我们就来学习一下关于它的知识. HashMap的简单使用 一.hashMap的put和get方法 Map<S ...
- JAVA基础——文件File简单实用
1.1java.io.File File用于表示文件系统中的一个文件或目录 通过File可以: 1:访问该文件或目录的属性信息(名字,大小,修改时间等) file.getName();获取文件名fil ...
- java 学习第一篇简单基础
Java基础 Java Java 和C#有着极为相似的语法. 和C#都是面向对象的高级程序语言. JAVA是一个开源,公开的语言,有着极其丰富的开源库和其他资源. JAVA分类 JAVA分SE EE ...
- JAVA 基础开发环境 vscode 搭建 Windows下VSCode编译运行简单java
JAVA 基础开发环境 vscode 搭建 来源 https://www.cnblogs.com/freewsf/p/7744728.html 对于使用 Visual Studio Code 的 Ja ...
- Java基础学习-- 继承 的简单总结
代码参考:Java基础学习小记--多态 为什么要引入继承? 还是做一个媒体库,里面可以放CD,可以放DVD.如果把CD和DVD做成两个没有联系的类的话,那么在管理这个媒体库的时候,要单独做一个添加CD ...
随机推荐
- 读书笔记-你不知道的JS上-声明提升
变量声明提升 Javascript代码一般情况下是由上往下执行的,但是有些情况下不成立. a = 2; //变量声明被提升在当前作用域顶部 var a; console.log(a); console ...
- 爱上朴实的CSS细节
英文原文:Learning to Love the Boring Bits of CSS 未来的CSS太让人兴奋了:一方面,是全新的页面布局方式:另一方面,是酷炫的滤镜.颜色等视觉效果.这些CSS, ...
- angular2安装笔记
主要摘自:http://www.runoob.com/angularjs2/angularjs2-typescript-setup.html http://blog.csdn.net/lgpwwa/a ...
- sphinx实时索引和高亮显示
sphinx实时索引和高亮显示 时间 2014-06-25 14:50:58 linux技术分享 -欧阳博客 原文 http://www.wantlearn.net/825 主题 Sphinx数据 ...
- Leetcode题解(27)
86. Partition List 题目 分析:题目要求将链表划分为两部分,前半部分小于x,后半部分大于等于x,并且各个数之间的相对顺序不变. 解题思路是:从头开始扫描链表,找打第一个大于等于x的数 ...
- css响应式布局
以设计稿为准,假设设计稿竖屏宽度为750px,取根元素的font-size为50px 在iphone6(375px)下,deviceWidth=7.5rem, 这个就是viewPort中的device ...
- Web前端框架与类库的思考【转】
前端框架的理解误区 网站的价值在于它能为用户提供什么价值,在于网站能做什么,而不在于它是怎么做的,所以在网站还很小的时候就去追求网站的架构框架是舍本逐末,得不偿失的.前端框架同理,如果是一个简单的页面 ...
- 实现验证码图像文字的识别(C#调用DLL)
请先下载http://asprise.com/product/ocr/index.php?lang=csharp 的SDK.里面提供了详细的OCR方法,如下: 将发现图像框picbVeryfyCo ...
- [转载] java的动态代理机制详解
转载自http://www.cnblogs.com/xiaoluo501395377/p/3383130.html 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代 ...
- 基于.NET CORE微服务框架 -surging 基于messagepack、protobuffer、json.net 性能对比
1.前言 surging内部使用的是高性能RPC远程服务调用,如果用json.net序列化肯定性能上达不到最优,所以后面扩展了protobuf,messagepack序列化组件,以支持RPC二进制传输 ...