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

源代码:

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

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

源代码:

 1 package test;
2 import java.util.*;
3 public class t3 {
4 private String User;//账户
5 private double Money;//当前余额
6 private double add;//存款金额
7 private double subtract;//取款金额
8 public t3(String User){
9 this.User = User;
10 }
11 public t3(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 t3 bank = new t3("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-Runoob:Java 对象和类

    ylbtech-Java-Runoob:Java 对象和类 1.返回顶部 1. Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 ...

  2. (五)Java 对象和类

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

  3. Java 教程 (Java 对象和类)

    Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 本节我们重点研究对象和类的概念. 对象:对象是类的一个实例(对象不是找个女朋友 ...

  4. JavaSE基础(十二)--Java 对象和类

    Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 本节我们重点研究对象和类的概念. 对象:对象是类的一个实例(对象不是找个女朋友 ...

  5. Java对象转xml报文和xml报文转Java对象帮助类

    import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marsha ...

  6. java对象和类学习

    定义对象的类: 一个对象的状态(属性或特征)是指那些具有他们当前值的数据域 一个对象的行为是由方法定义的,调用对象的方法就是完成对象的一个动作 使用一个通用类来定义同一类型的对象.类是一个模板,一个对 ...

  7. Java对象与类中的一个小练习

    一直在Eclipse里做练习.是做一个练习,执行一个的那种.刚刚学习了Java的对象与类,练习中把类和执行放在同一包下的两个.java文件里面了.是可以执行的.(Get) 相关代码: public c ...

  8. JAVA对象和类

    Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 Java中的类 类可以看成是创建Java对象的模板. 通过下面一个简单的类来理解下Java中类的定 ...

  9. 重新学习Java——对象和类(二)

    上一节回归了如何以面向对象的思想去使用一些Java中的公共类,也设计了一些自己的类并介绍了设计类的基本方法和技巧,这一节我们将继续回顾这些内容,并争取从中获得新的体验和感受. 1. 静态域与静态方法 ...

  10. 重新学习Java——对象和类(一)

    之前通过记笔记的方法,对于<Java核心技术>这本书的前一章进行了重新的复习,感觉效果很好,比单独看书带来了更好的复习效果,了解了很多以前不是很注意的一些细节,但是在一些自己较为熟悉的地方 ...

随机推荐

  1. java及python调用RabbitMQ

    1,python调用MQ发送消息(生产者),话不多说,直接上干货 import pika 如下图 2.java调用MQ发送消息(生产者) 具体代码如下: python 的代码如下 connection ...

  2. volatile不能保证数据完整性的小案例

    package juc; import java.util.Collections; import java.util.HashSet; import java.util.Set; public cl ...

  3. SpringCloud升级之路2020.0.x版-42.SpringCloudGateway 现有的可供分析的请求日志以及缺陷

    本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 网关由于是所有外部用户请求的入口,记录这些请求中我们需要的元素,对于线上监控以及业务问题定 ...

  4. x86汇编反编译到c语言之——(1)表达式求值及赋值语句

    一. 反编译一种可能的实现方式 我们的目的是将多种平台的汇编如x86,ARM,6502反编译为c语言,所以实现时先将多种汇编转化为 特定虚拟机汇编语言,然后只需要将虚拟机汇编语言反编译为c语言.其中多 ...

  5. Treevalue(0x03)——函数树化详细解析(下篇)

    好久不见,再一次回到 treevalue 系列.本文将基于上一篇treevalue讲解,继续对函数的树化机制进行详细解析,并且会更多的讲述其衍生特性及应用. 树化方法与类方法 首先,基于之前的树化函数 ...

  6. C#使用Thrift作为RPC框架实战(四)之TSocket

    前言 在前几个小节中我们讲了Thrift框架的基本概念以及重要的名称空间,接下来的几个小节,我们将站在实战的角度来深入讲解一些Thrift的重要类型.本小节我先要讲一下Thrift框架支持TCP通信的 ...

  7. Swagger2简单使用教程

    Swagger2简单使用教程 1.简介 ​ Swagger是为了解决企业中接口(api)中定义统一标准规范的文档生成工具.很多采用前后端分离的模式,前端只负责调用接口,进行渲染,前端和后端的唯一联系, ...

  8. 洛谷 P3267 - [JLOI2016/SHOI2016]侦察守卫(树形 dp)

    洛谷题面传送门 经典题一道,下次就称这种"覆盖距离不超过 xxx 的树形 dp"为<侦察守卫模型> 我们考虑树形 \(dp\),设 \(f_{x,j}\) 表示钦定了 ...

  9. git的使用理解(分支合并的使用理解,多人编程的解决方案)

    本文主要记录了对git日常使用的一些理解,主要是对git分支的一些感悟. git强大的版本控制系统,之前也使用过SVN,感觉上git对于多人开发的版本控制更加强大,特别是最近对git分支的使用,更是深 ...

  10. ctfshow WEB入门 信息收集 1-20

    web1 题目:开发注释未及时删除 查看页面源代码即可 web2 题目:js把鼠标右键和f12屏蔽了 方法一: 禁用JavaScript 方法二: url前面加上view-source: web3 题 ...