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. [atAGC048F]01 Record

    先将这个序列翻转,贪心找到最长的'101010--'的形式的子序列并删除,重复此过程并记这些字符串长度依次为$l_{1},l_{2},...,l_{n}$,若最终还有字符剩余则一定无解 假设$S$中元 ...

  2. tomcat的log日志乱码解决方案

    Intellij idea Tomcat输出log中文乱码 配置tomcat在VM options添加-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 重启后控 ...

  3. 洛谷 P5206 - [WC2019]数树(集合反演+NTT)

    洛谷题面传送门 神仙多项式+组合数学题,不过还是被我自己想出来了( 首先对于两棵树 \(E_1,E_2\) 而言,为它们填上 \(1\sim y\) 使其合法的方案数显然是 \(y\) 的 \(E_1 ...

  4. NOIP2020 模拟赛 B 组 Day6

    非常巧妙的一场模拟赛,比较偏向于 Atcoder 的风格,考场上做出了 A .C 两题. A. 礼物购买 排完序后一个个礼物地枚举时间复杂度是\(\Theta(nm)\)的,不能接受.但是注意到,若当 ...

  5. 利用plink软件基于LD信息过滤SNP

    最近有需求,对WGS测序获得SNP信息进行筛减,可问题是测序个体少,call rate,maf,hwe,等条件过滤后,snp数量还是千万级别,所以后面利用plink工具根据LD信息来滤除大量SNP标记 ...

  6. Redis——面试官考题

    总结: 本文在一次面试的过程中讲述了 Redis 是什么,Redis 的特点和功能,Redis 缓存的使用,Redis 为什么能这么快,Redis 缓存的淘汰策略,持久化的两种方式,Redis 高可用 ...

  7. TOMCAT 搭建

    第一步:下载 软件 和 JDK 第二个:https://www.oracle.com/java/technologies/javase-jdk16-downloads.html 传输到Linux里. ...

  8. 【题解】洛谷P1001 A+B Problem

    第一篇博客,献给2020年的残夏. 静听8月的热情与安宁,在竞赛中的时光如白驹过隙. 也不惧未知的风雨,努力向着既往的通途. 题目地址 https://www.luogu.com.cn/problem ...

  9. acupuncture

    acute+puncture. [woninstitute.edu稻糠亩] To understand the basics of acupuncture, it is best to familia ...

  10. Sharding-JDBC 实现水平分表

    1.搭建环 (1) 技术: SpringBoot2.2.1+ MyBatisPlus + Sharding-JDBC + Druid 连接池(2)创建 SpringBoot 工程