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. [luogu5666]树的重心

    考虑枚举一个点k,求其为重心的方案数暴力的做法是,将其作为根搜索,设最大子树大小为s1,次大为s2,对割掉的子树分类讨论:1.在子树中,分两种情况(都可以用线段树合并来做) (1)从s1中切掉一棵大小 ...

  2. 【NetWork】-- 网络原理

    2019-07-18  21:00:25  by冲冲 1. 网络拓扑 把网络中的计算机和通信设备抽象为一个点,把传输介质抽象为一条线,由点和线组成的几何图形就是计算机网络的拓扑结构(Network T ...

  3. linux新增定时脚本

    crontab -e 然后新增: 0 * * * * sh /usr/local/redis/copy/redis_rdb_copy_hourly.sh 控制台回显"crontab:inst ...

  4. git新手配置(windows环境)

    windows环境,初步了解git是个什么东西,使用过svn相关软件最佳,否则可以先补一下git的相关概念和用处,相关教程:https://www.liaoxuefeng.com/wiki/89604 ...

  5. BZOJ 3238 差异

    BZOJ 3238 差异 看这个式子其实就是求任意两个后缀的 $ LCP $ 长度和.前面的 $ len(T_i)+len(T_j) $ 求和其实就是 $ n(n-1)(n+1)/2 $ ,这个是很好 ...

  6. Anaconda 镜像配置

    镜像源 清华大学: https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ 北京外国语大学: https://mirrors.bfsu.edu.cn/h ...

  7. python8 标准模块和第三方模块

  8. 【讲座】詹显全——Proteoforms在肿瘤中应用

    Proteoforms/Protein species这个概念还是比较有意义的. 人类结构基因组测序接近尾声,人们就从结构基因组学研究转向功能基因组学研究,即对转录组和蛋白质组进行研究.1995年正式 ...

  9. Oracle——创建多个实例(数据库)、切换实例、登录数据库实例

    oracle中怎么创建多个实例? 其实很简单,怎么创建第一个实例,其他实例应该也怎么创建. 我的理解其实在linux中的oracle数据库中创建一个实例,实际上就是创建一个新的数据库,只是实例名字不同 ...

  10. MEGA软件——系统发育树构建方法(图文讲解) 转载

    转载:http://www.plob.org/2012/12/02/4927.html 一.序列文本的准备 构树之前先将目标基因序列都分别保存为txt文本文件中(或者把所有序列保存在同一个txt文本中 ...