Java的对象与类,继承

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

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

  1. package test;
  2. public class t1 {
  3. private String Name;//车主姓名
  4. private float Speed;//当前车速
  5. private float Degree;//当前方向盘转向角度
  6. public t1(String Name){
  7. this.Name = Name;
  8. }
  9. public t1(String name,float speed,float degree){
  10. this(name);
  11. this.Speed = speed;
  12. this.Degree = degree;
  13. }
  14. public String getName(){//车主姓名访问
  15. return Name;
  16. }
  17. public float getDegree(){//当前方向盘转向角度访问
  18. return Degree;
  19. }
  20. public float getSpeed(){//当前车速访问
  21. return Speed;
  22. }
  23. public void changeSpeed(float Speed){//提供改变当前的车速
  24. this.Speed = Speed;
  25. }
  26. public void stop(){//提供停车
  27. this.Speed = 0;
  28. }
  29. public static void main(String[] args){
  30. t1 car = new t1("小明:",200f,25f);
  31. System.out.println("车主姓名:" +car.getName());
  32. System.out.println("当前车速:"+car.getSpeed());
  33. }
  34. }

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

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

  1. package test;
  2. import java.util.*;
  3. public class t2 {
  4. private String User;//账户
  5. private double Money;//当前余额
  6. private double add;//存款金额
  7. private double subtract;//取款金额
  8. public t2(String User){
  9. this.User = User;
  10. }
  11. public t2(String User,double Money){
  12. this(User);
  13. this.Money = Money;
  14. }
  15. public String getUser(){//用户账号访问
  16. return User;
  17. }
  18. public double getMoney(){//当前余额访问
  19. return Money;
  20. }
  21. public void addMoney(double Money){//存款
  22. this.Money+=Money;
  23. }
  24. public void subtractMoney(double Money){//取款
  25. this.Money-= Money;
  26. }
  27. public static void main(String[] args){
  28. t2 bank = new t2("12345678",34537.876);
  29. System.out.println("账号:" +bank.getUser());
  30. System.out.println("当前余额:"+bank.getMoney());
  31. Scanner in = new Scanner(System.in);
  32. System.out.println("输入存款金额");
  33. double add = in.nextDouble();
  34. System.out.println("输入取款金额");
  35. double sub = in.nextDouble();
  36. bank.addMoney(add);
  37. System.out.println("存款后,当前余额:" +bank.getMoney());
  38. bank.subtractMoney(sub);
  39. System.out.println("取款后,当前余额:"+bank.getMoney());
  40. }
  41. }

题目3. 继承

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

  1. package test;
  2. public class t3 {
  3. public static void main(String[] args) {
  4. Circle c = new Circle(4,"white");
  5. System.out.println(c.toString());
  6. Rectangle r = new Rectangle(4, 5, "white");
  7. System.out.println(r.toString());
  8. Triangle t = new Triangle(3,4,5,"black");
  9. System.out.println(t.toString());
  10. } }
  11. abstract class Shape{
  12. String color="red";
  13. public double area(){
  14. return -1;
  15. }
  16. public double perimeter(){
  17. return -1;
  18. }
  19. public String SetColor(String a){
  20. return color=a;
  21. }
  22. }
  23. class Circle extends Shape{
  24. private double bj;
  25. Circle(){
  26. bj=1;
  27. }
  28. Circle(double i,String col){
  29. bj=i;
  30. super.color=super.SetColor(col);
  31. }
  32. public void setBj(double b){
  33. this.bj = b;
  34. }
  35. public double area(){
  36. return Math.PI * bj * bj; }
  37. public double perimeter(){
  38. return Math.PI * bj * 2;
  39. }
  40. public String toString(){
  41. return( "圆的半径为" + this.bj+"圆的面积:"+this.area()+"圆的周长:"+this.perimeter());
  42. } }
  43. class Rectangle extends Shape{
  44. double h;
  45. double w;
  46. Rectangle(){
  47. }
  48. Rectangle(double hi,double wi,String col){
  49. h=hi;
  50. w=wi;
  51. super.color=super.SetColor(col);
  52. }
  53. public double area(){
  54. return h * w; }
  55. public double perimeter(){
  56. return (w+h)* 2;
  57. }
  58. public String toString(){
  59. return( "矩形的长为" + this.h+"矩形的宽为"+this.w+"矩形的面积:"+this.area()+"矩形的周长:"+this.perimeter());
  60. } }
  61. class Triangle extends Shape{
  62. double a;
  63. double b;
  64. double c;
  65. Triangle(){
  66. }
  67. Triangle(double aa,double bb,double cc,String col){
  68. a=aa;
  69. b=bb;
  70. c=cc;
  71. super.color=super.SetColor(col);
  72. }
  73. public double area(){
  74. double s =((a+b+c)/2);
  75. return Math.sqrt (s*(s-a)*(s-b)*(s-c));
  76. }
  77. public double perimeter(){
  78. return a+b+c;
  79. }
  80. public String toString(){
  81. return( "三角形的长为" + this.a+"三角形的宽为"+this.b+"三角形的斜边"+this.c+"三角形的面积:"+this.area()+"三角形的周长:"+this.perimeter());
  82. }
  83. }

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. [bzoj4650]优秀的拆分

    由于字符串是AABB的形式,枚举AA和BB中间的位置,分别考虑AA和BB的数量,乘起来sigma一下即为答案以下考虑AA的情况(BB同理),枚举A的长度,然后按照这个长度分为若干块,那么每一个A一定可 ...

  2. JAVA后端方面,如何快速达到能实习的程度

        概要地讲,是先广度再深度,面试开发两手抓. 首先说学习方法,因为很多初学者没继续下去,不是能力不行,而是方法不当.对比下错误和正确的方法. 1 光看视频光看资料不动手连,这样转眼就忘.正确的做 ...

  3. JAVA基础----面向对象复习和IDEA的安装和使用

    1.使用集成开发工具eclipse 1.1.java的集成开发工具很多,包括:eclipse.Intellij IDEA.netbeans..... eclipse: IBM开发的.eclipse翻译 ...

  4. 下载安装wps后去除监控

    下载wps之后发现wps一直对我的电脑进行监控,占用着我的cpu和内存,我要把它清理出去.... 控制面板→管理工具→任务计划程序→任务计划程序库,有两个wps的任务计划,可以根据属性看到文件地址 C ...

  5. 数值最优化:一阶和二阶优化算法(Pytorch实现)

    1 最优化概论 (1) 最优化的目标 最优化问题指的是找出实数函数的极大值或极小值,该函数称为目标函数.由于定位\(f(x)\)的极大值与找出\(-f(x)\)的极小值等价,在推导计算方式时仅考虑最小 ...

  6. JavaWeb 请求转发重定向

    请求转发和重定向 request除了可以作为请求对象之外,还可以作为域对象,但是该域对象的取值范围,是一次请求范围之内(浏览器地址栏没有发生跳转访问别的资源) 作用:将servlet中的数据通过req ...

  7. Codeforces 1158F - Density of subarrays(dp,神仙题)

    Codeforces 题目传送门 & 洛谷题目传送门 人生中第一道 *3500(显然不是自己独立 AC 的),不过还是祭一下罢 神仙 D1F 首先考虑对于给定的序列 \(a_1,a_2,\do ...

  8. C++ and OO Num. Comp. Sci. Eng. - Part 1.

    本文参考自 <C++ and Object-Oriented Numeric Computing for Scientists and Engineers>. 序言 书中主要讨论的问题是面 ...

  9. R语言与医学统计图形-【9】过渡函数qplot

    ggplot2绘图系统 基础绘图包向ggplot2过渡--qplot 绘图理念的不同: 基础绘图包是先铺好画布,再在这张画布上作图(常规思维): ggplot2打破常规,采用图层叠加的方法. qplo ...

  10. R 多图间距调整

    在R中多图画到一起的时候,各图间距通常默认的较远. 如下图: 1 par(mfcol=c(2,1)) 2 plot(1:100) 3 plot(1:100) 调整图片间距这时我们要用到par()函数中 ...