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. 从零开始,使用Dapr简化微服务

    序言 现有的微服务模式需要再业务代码中集成大量基础设施模块,比如注册中心,服务发现,服务调用链路追踪,请求熔断,重试限流等等,使得系统过于臃肿重量级. Dapr作为新一代微服务模式,使用sidecar ...

  2. 如何基于 React 封装一个组件

    如何基于 React 封装一个组件 前言 很多小伙伴在第一次尝试封装组件时会和我一样碰到许多问题,比如人家的组件会有 color 属性,我们在使用组件时传入组件文档中说明的属性值如 primary , ...

  3. Codeforces 840C - On the Bench(dp/容斥原理)

    Codeforces 题目传送门 & 洛谷题目传送门 这是一道 *2500 的 D1C,可个人认为难度堪比某些 *2700 *2800. 不过嘛,*2500 终究还是 *2500,还是被我自己 ...

  4. FASTA/Q序列处理神器---seqkit

    该软件对于处理FASTA/Q十分方便,省去自己编写脚本 安装 1 conda install seqkit 使用 序列操作(seq) 1 ## 取方向序列 2 seqkit seq test.fa - ...

  5. mysql proxy 数据库读写分离字符集乱码

    mysql proxy 数据库读写分离字符集乱码 解决办法 在对应配置后端数据库服务器的配置.cnf中加入如下代码 init-connect='SET NAME UTF8' skip-characte ...

  6. Macbookpro快捷键

    Alt键代替 Option 键,用 Windows 标志键代替 Command 键. 但是,使用的时候,Command健类似于Windows的Control键. 1.复制.粘贴.剪切.全选.查找 Co ...

  7. mysql—从字符串中提取数字(类型1)

    select reason,CHAR_LENGTH(reason),mid(reason,5,CHAR_LENGTH(reason)-5)+0 from `table` 解释: CHAR_LENGTH ...

  8. 02 eclipse中配置Web项目(含eclipse基本配置和Tomcat的配置)

    eclipse搭建web项目 一.Eclipse基本配置 找到首选项: (一)配置编码 (二)配置字体 (三)配置jdk (四)配置Tomcat 二.Tomcat配置 三.切换视图,检查Tomcat ...

  9. 使用input+datalist简单实现实时匹配的可编辑下拉列表-并解决选定后浏览器默认只显示value的可读性问题

    问题背景 最近小伙伴提了一个希望提高后台下拉列表可操作性的需求,原因是下拉列表选项过多,每次下拉选择比较费时费力且容易出错,硬着头皮啃了啃前端知识,网上搜寻了一些下拉列表实现的资料,这里总结一下. P ...

  10. 【.Net】使用委托实现被引用的项目向上级项目的消息传递事件

    前言:在实际项目过程中,经常可能遇到被引用的项目要向上传递消息,但是又不能通过方法进行返回等操作,这个时候委托就派上用场了.以下使用委托,来实现被引用的项目向上传递消息的小教程,欢迎各位大佬提供建议. ...