Java的对象与类,继承

题目1.Java类的建立与使用

设计一个用来描述汽车的类,使用类的非静态成员变量来表示汽车的车主姓名、当前的速率和当前方向盘的转向角度,使用类的非静态成员方法来表示改变汽车的速率和停车两个操作。

package test;

public class t1 {
private String Name;//车主姓名
private float Speed;//当前车速
private float Degree;//当前方向盘转向角度
public t1(String Name){
this.Name = Name;
}
public t1(String name,float speed,float degree){
this(name);
this.Speed = speed;
this.Degree = degree;
}
public String getName(){//车主姓名访问
return Name;
}
public float getDegree(){//当前方向盘转向角度访问
return Degree;
}
public float getSpeed(){//当前车速访问
return Speed;
}
public void changeSpeed(float Speed){//提供改变当前的车速
this.Speed = Speed;
}
public void stop(){//提供停车
this.Speed = 0;
}
public static void main(String[] args){
t1 car = new t1("小明:",200f,25f);
System.out.println("车主姓名:" +car.getName());
System.out.println("当前车速:"+car.getSpeed());
}
}

题目2.Java类的建立与使用

定义一个类实现银行帐户的概念,包括的变量有"帐号"和"存款余额",包括的方法有"存款"、"取款"、"查询余额"和”显示帐号”。定义主类,创建帐户类的对象,并完成相应操作。

package test;
import java.util.*;
public class t2 {
private String User;//账户
private double Money;//当前余额
private double add;//存款金额
private double subtract;//取款金额
public t2(String User){
this.User = User;
}
public t2(String User,double Money){
this(User);
this.Money = Money;
}
public String getUser(){//用户账号访问
return User;
}
public double getMoney(){//当前余额访问
return Money;
}
public void addMoney(double Money){//存款
this.Money+=Money;
}
public void subtractMoney(double Money){//取款
this.Money-= Money;
}
public static void main(String[] args){
t2 bank = new t2("12345678",34537.876);
System.out.println("账号:" +bank.getUser());
System.out.println("当前余额:"+bank.getMoney());
Scanner in = new Scanner(System.in);
System.out.println("输入存款金额");
double add = in.nextDouble();
System.out.println("输入取款金额");
double sub = in.nextDouble();
bank.addMoney(add);
System.out.println("存款后,当前余额:" +bank.getMoney());
bank.subtractMoney(sub);
System.out.println("取款后,当前余额:"+bank.getMoney());
}
}

题目3. 继承

设计一个类Shape(图形)包含求面积和周长的area()方法和perimeter()方法以及设置颜色的方法SetColor(),并利用Java多态技术设计其子类Circle(圆形)类、Rectangle(矩形)类和Triangle(三角形)类,并分别实现相应的求面积和求周长的方法。每个类都要覆盖toString方法。海伦公式:三角形的面积等于s(s-a)(s-b)(s-c)的开方,其中s=(a+b+c)/2。

package test;
public class t3 {
public static void main(String[] args) {
Circle c = new Circle(4,"white");
System.out.println(c.toString());
Rectangle r = new Rectangle(4, 5, "white");
System.out.println(r.toString());
Triangle t = new Triangle(3,4,5,"black");
System.out.println(t.toString());
} }
abstract class Shape{
String color="red";
public double area(){
return -1;
}
public double perimeter(){
return -1;
}
public String SetColor(String a){
return color=a;
}
}
class Circle extends Shape{
private double bj;
Circle(){
bj=1;
}
Circle(double i,String col){
bj=i;
super.color=super.SetColor(col);
}
public void setBj(double b){
this.bj = b;
}
public double area(){
return Math.PI * bj * bj; }
public double perimeter(){
return Math.PI * bj * 2;
}
public String toString(){
return( "圆的半径为" + this.bj+"圆的面积:"+this.area()+"圆的周长:"+this.perimeter());
} }
class Rectangle extends Shape{
double h;
double w;
Rectangle(){
}
Rectangle(double hi,double wi,String col){
h=hi;
w=wi;
super.color=super.SetColor(col);
}
public double area(){
return h * w; }
public double perimeter(){
return (w+h)* 2;
}
public String toString(){
return( "矩形的长为" + this.h+"矩形的宽为"+this.w+"矩形的面积:"+this.area()+"矩形的周长:"+this.perimeter());
} }
class Triangle extends Shape{
double a;
double b;
double c;
Triangle(){
}
Triangle(double aa,double bb,double cc,String col){
a=aa;
b=bb;
c=cc;
super.color=super.SetColor(col);
}
public double area(){
double s =((a+b+c)/2);
return Math.sqrt (s*(s-a)*(s-b)*(s-c));
}
public double perimeter(){
return a+b+c;
}
public String toString(){
return( "三角形的长为" + this.a+"三角形的宽为"+this.b+"三角形的斜边"+this.c+"三角形的面积:"+this.area()+"三角形的周长:"+this.perimeter());
}
}

Java的对象与类,继承的更多相关文章

  1. 快乐编程大本营【java语言训练班】 6课:用java的对象和类编程

    快乐编程大本营[java语言训练班] 6课:用java的对象和类编程 第1节. 什么是对象和类 第2节. 对象的属性和方法 第3节. 类的继承 第4节. 使用举例:创建类,定义方法,定义属性 第5节. ...

  2. Java常见对象Object类中的个别方法

    Java常见对象Object类 public int hashCode() : 返回该对象的哈希码值. 注意:哈希值是根据哈希算法计算出来的一个值,这个值和地址值有关,但是不是实际地址值.你可以理解成 ...

  3. 你真的了解JAVA中对象和类、this、super和static关键字吗

    作者:小牛呼噜噜 | https://xiaoniuhululu.com 计算机内功.JAVA底层.面试相关资料等更多精彩文章在公众号「小牛呼噜噜 」 目录 Java对象究竟是什么? 创建对象的过程 ...

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

    以下通过实际例子对类创建过程汇中常用的equals().hashcode().toString()方法进行展示,三个方法的创建过程具有通用性,在项目中可直接改写. //通过超类Employee和其子类 ...

  5. Java基础-对象与类

    面向对象程序设计概述 面向对象的程序设计(简称OOP)时当今主流的程序设计范型,已经取代了"结构化"过程化程序设计开发技术,Java是完全面向对象的. 类 类设计构造对象的模板或蓝 ...

  6. Java 2-Java 对象和类

    Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 消息解析 本节我们重点研究对象和类的概念. 对象:对象是类的一个实例,有状态和行为. ...

  7. Java 的对象和类

    Java 是一种面向对象的语言.作为一个面向的语言,Java 具有面向对象的特性,Java 能够支持下面的一些基本概念 − 多态(Polymorphism) 继承(Inheritance) 封装(En ...

  8. java入门---对象和类&概念详解&实例

        Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载     这篇文章,我们主要来看下: 对象:对象是类的一个实例(对象不是找个女朋友),有状态 ...

  9. 【Java】对象、类(抽象类与内部类)、接口

    博文内容概况 对象和类 抽象类 接口 内部类 对象和类 对象是对客观事物的抽象,类是对对象的抽象.类是一种数据类型,其外观和行为由用户定义.类中可以设置两种类型的元素:字段(有时被称为数据成员)和方法 ...

随机推荐

  1. PHP绕过MD5比较的各种姿势

    1.用==进行弱类型比较时, 可以通过两个0e开头后面纯数字的md5绕过 php在进行弱类型比较时,如果为字符串为纯数字,包括浮点数.科学计数法.十六进制数等,都会转化为数字类型再进行比较,利用这点, ...

  2. 通过Rainbond的团队管理去管理已有的组织架构

    针对于多团队管理我先列举几个小问题,看看大家有没有共鸣,我们在刚刚接触并使用Rainbond的时候,仅仅创建一个团队,里面创建一大堆应用,看起来特别乱,进行管理的时候呢,也会非常麻烦,尤其是当团队需要 ...

  3. 面试官:Java 线程如何启动的?

    摘要:Java 的线程创建和启动非常简单,但如果问一个线程是怎么启动起来的往往并不清楚,甚至不知道为什么启动时是调用start(),而不是调用run()方法呢? 本文分享自华为云社区<Threa ...

  4. Codeforces 1375F - Integer Game(交互)

    Codeforces 题面传送门 & 洛谷题面传送门 一个奇怪的做法. 首先我们猜测答案总是 First.考虑什么样的情况能够一步把对方一步干掉.方便起见我们假设 \(a<b<c\ ...

  5. perl 数组快速去除重复元素

    这里记录两种perl数组去重的办法,一种利用哈希(hash),一种直接利用perl自带的模块List::MoreUtils内部的函数uniq. 一.利用hash去重 示例代码如下: 1 #!/usr/ ...

  6. mysql—mysql查询语句提示Unknown column ‘xxx’ in ‘where clause’

    运行结果中提示Unknown column 'xxx' in 'where clause'的问题.经过大神的指导,顿时明白其中缘由,如果sql中定义的类型是int型的可以不用加引号,但是如果是字符串类 ...

  7. 43-Reverse Nodes in k-Group

    Reverse Nodes in k-Group My Submissions QuestionEditorial Solution Total Accepted: 58690 Total Submi ...

  8. 在idea的java开发中字符串length()方法获取长度与赋值不符的问题

    最近在开发中用到length()方法获取中文字符串的长度,发现获得的长度与实际不符.比如个String类型赋值为"中",但获取长度却是2. 这让我百思不得其解,后来突然想起来我在研 ...

  9. Spark(六)【RDD的血缘依赖】

    RDD依赖关系 1. RDD血缘关系 ​ RDD只支持粗粒度转换,即在大量记录上执行的单个操作.将创建RDD的一系列Lineage(血统)记录下来,以便恢复丢失的分区.RDD的Lineage会记录RD ...

  10. flink-----实时项目---day05-------1. ProcessFunction 2. apply对窗口进行全量聚合 3使用aggregate方法实现增量聚合 4.使用ProcessFunction结合定时器实现排序

    1. ProcessFunction ProcessFunction是一个低级的流处理操作,可以访问所有(非循环)流应用程序的基本构建块: event(流元素) state(容错,一致性,只能在Key ...