java编程三角形(Triangle类)继承

import java.util.Scanner;

public class Test
{
public static void main(String[] args)
{
System.out.println("请输入三角形的三条边,颜色,是否填充(true or false)");
Scanner input=new Scanner(System.in);
double side1=input.nextDouble();
double side2=input.nextDouble();
double side3=input.nextDouble();
String color=input.next();
boolean filled=input.nextBoolean();
Triangle tri=new Triangle(side1,side2,side3,color,filled);
System.out.println(tri);//调用Triangle类
System.out.println("Area:"+tri.getArea());
System.out.println("Perimeter:"+tri.getPerimeter());
System.out.println("Color:"+tri.getColor());
System.out.println("IsFilled:"+tri.getFilled());
}
}
class GeometricObject
{
private String color="white";
private boolean filled=false;
public GeometricObject()
{
}
public GeometricObject(String color,boolean filled)
{
this.color=color;
this.filled=filled;
}
public String getColor()
{
return color;
}
public boolean getFilled()
{
return filled;
}
public void setColor(String color)
{
this.color=color;
}
public void setFilled(boolean filled)
{
this.filled=filled;
}
public String toString()
{
return "Color:"+color+"Filled:"+filled;
}
}
class Triangle extends GeometricObject
{
private double side1=1;
private double side2=1;
private double side3=1;
public Triangle()
{
}
public Triangle(double a,double b,double c,String color,boolean filled)
{
super(color,filled);
if(a+b>c&&a+c>b&&b+c>a)
{
side1=a;
side2=b;
side3=c;
}
else
{
System.out.println("输入的不是三角形!");
}
}
public double getSide1()
{
return side1;
}
public double getSide2()
{
return side2;
}
public double getSide3()
{
return side3;
}
public double getArea()
{
double s=(side1+side2+side3)/2;
return Math.sqrt(s*(s-side1)*(s-side2)*(s-side3));//面积公式
}
public double getPerimeter()
{
return side1+side2+side3;
}
public String toString()
{
return "Triangle:side1="+side1+" side2="+side2+" side3="+side3;
}
}

原文地址:https://blog.51cto.com/14233078/2393098

时间: 2024-11-03 14:12:34

java编程三角形(Triangle类)继承的相关文章

Java和CSharp的类继承的执行过程的差异

Java和CSharp的类继承的执行过程的差异: Java的执行过程:子类先初始化父类的成员→初始化父类的构造函数→返回子类执行初始化子类的成员→初始化子类构造函数. CSharp的执行过程:子类先初始化子类的成员→初始化父类的成员→初始化父类的构造函数→初始化子类的构造函数. 假设:A类继承自B类. Java的执行过程:A类先初始化B类的成员→初始化B类的构造函数→ 初始化A类的成员→初始化A类的构造函数. CSharp的执行过程:A类先初始化A类的成员→初始化B类的成员→初始化B类的构函数→

Java:验证在类继承过程中equals()、 hashcode()、toString()方法的使用

以下通过实际例子对类创建过程汇中常用的equals().hashcode().toString()方法进行展示,三个方法的创建过程具有通用性,在项目中可直接改写. //通过超类Employee和其子类Manager ,验证在类继承过程中equals().hashcode().toString()方法的使用.package equals;public class EqualsTest{    public static void main(String[] args){        Employ

Java编程的逻辑 (17) - 继承实现的基本原理

第15节我们介绍了继承和多态的基本概念,而上节我们进一步介绍了继承的一些细节,本节我们通过一个例子,来介绍继承实现的基本原理.需要说明的是,本节主要从概念上来介绍原理,实际实现细节可能与此不同. 例子 这是基类代码: public class Base { public static int s; private int a; static { System.out.println("基类静态代码块, s: "+s); s = 1; } { System.out.println(&qu

java编程 新账户类(Newaccount)(java继承)

可记录多次存取信息 import java.util.ArrayList; import java.util.Date; import java.util.Scanner;//声明 public class TestNewaccount //测试类 { public static void main(String[] args) { NewAccount account = new NewAccount("Mike",1122,1000); account.setAnnualInter

JAVA编程中的类和对象

1:初学JAVA,都知道JAVA是面向对象的编程.笔者这节开始说说类和对象.(实例仅供参考,如若复制粘贴记得修改包名和类名,避免出错) 学习JAVA的快捷键,Alt+/代码补全功能,其实此快捷键启动了Eclipse代码辅助菜单,Shift+Ctrl+o快捷键导入包 Ctrl+F可以快速查找API,中文版API,百度云链接:http://pan.baidu.com/s/1slQWhCL 密码:cfxo 首先 对象的创建:类名  对象名=new 类名();也许大多数学习java的都会写,但是理解方面

Java编程里的类和对象

像我们搞计算机这块的,都知道这么一件事,当前的计算机编程语言主要分为两大块,一为面向过程,二为面向对象.Java就是一门纯面向对象的语言.学习了一个月左右的Java,在下对于Java当中的类和对象有了基本的认识.接下来我就来谈谈自己的看法,各位大神勿喷,新手小白敬上. 既然谈到类和对象,首先,我们要明确一个概念.那就是,什么叫类?什么是对象? 首先让我们来谈谈什么叫类.类是一个比较抽象的概念,如何给它定义,是一个难题.我们通常这样称呼它,模板.是的,它代表了具有相同属性.行为等的一种事物.就比如

java编程中Properties类的具体作用和使用!

如果不熟悉 java.util.Properties类,那么现在告诉您它是用来在一个文件中存储键-值对的,其中键和值是用等号分隔的.(如清单 1 所示).最近更新的java.util.Properties 类现在提供了一种为程序装载和存储设置的更容易的方法: loadFromXML(InputStreamis) 和 storeToXML(OutputStream os, String comment) 方法. 一下是详细的说明,希望能给大家带来帮助. 清单 1. 一组属性示例 foo=barfu

java新手笔记14 类继承示例

1.Person package com.yfs.javase; public class Person { private String name; private int age; private char sex; private void privateMehtod() { System.out.println("call privateMehtod()..."); } public Person() { //System.out.println("创建Perosn对

Java编程思想笔记-类的初始化顺序

1.如果有父类,先初始化父类,然后初始化子类 2.先初始化静态成员变量.静态代码块(static { }包围的代码),然后初始化非静态成员变量.非静态代码块(大括号包围的代码).静态成员变量间.非静态成员变量间按定义顺序初始化. 3.调用构造函数 class Bowl { Bowl(int marker) { System.out.println("Bowl(" + marker + ")"); } void f(int marker) { System.out.p