java对象与类
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对象与类的更多相关文章
- Java-Runoob:Java 对象和类
ylbtech-Java-Runoob:Java 对象和类 1.返回顶部 1. Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 ...
- (五)Java 对象和类
Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 消息解析 本节我们重点研究对象和类的概念. 对象:对象是类的一个实例,有状态和行为. ...
- Java 教程 (Java 对象和类)
Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 本节我们重点研究对象和类的概念. 对象:对象是类的一个实例(对象不是找个女朋友 ...
- JavaSE基础(十二)--Java 对象和类
Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 本节我们重点研究对象和类的概念. 对象:对象是类的一个实例(对象不是找个女朋友 ...
- Java对象转xml报文和xml报文转Java对象帮助类
import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marsha ...
- java对象和类学习
定义对象的类: 一个对象的状态(属性或特征)是指那些具有他们当前值的数据域 一个对象的行为是由方法定义的,调用对象的方法就是完成对象的一个动作 使用一个通用类来定义同一类型的对象.类是一个模板,一个对 ...
- Java对象与类中的一个小练习
一直在Eclipse里做练习.是做一个练习,执行一个的那种.刚刚学习了Java的对象与类,练习中把类和执行放在同一包下的两个.java文件里面了.是可以执行的.(Get) 相关代码: public c ...
- JAVA对象和类
Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 Java中的类 类可以看成是创建Java对象的模板. 通过下面一个简单的类来理解下Java中类的定 ...
- 重新学习Java——对象和类(二)
上一节回归了如何以面向对象的思想去使用一些Java中的公共类,也设计了一些自己的类并介绍了设计类的基本方法和技巧,这一节我们将继续回顾这些内容,并争取从中获得新的体验和感受. 1. 静态域与静态方法 ...
- 重新学习Java——对象和类(一)
之前通过记笔记的方法,对于<Java核心技术>这本书的前一章进行了重新的复习,感觉效果很好,比单独看书带来了更好的复习效果,了解了很多以前不是很注意的一些细节,但是在一些自己较为熟悉的地方 ...
随机推荐
- [noi1779]D
先离散,然后将黑的看成1,白的看成-1,对整个序列差分,所有区间建为$(l,r+1)$的无向边,并标上-1和1,每一个点的前缀和即为该点的值 考虑什么情况下能够使得所有点都是0:当且仅当每一个点的度数 ...
- SSM(Spring-MyBatis-SpringMVC)框架整合【完整版】
整合SSM 01 基本配置文件的关系 web.xml配置DispatcherServlet 02 需要的maven依赖 <!--依赖 1.junit 2.数据库连接池 3.servlet 4.j ...
- 寒武纪加速平台(MLU200系列) 摸鱼指南(四)--- 边缘端实例程序分析
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- Jmeter——变量嵌套函数使用(__V)案例分析
jmeter版本:5.3 __V官方函数解释: (https://jmeter.apache.org/usermanual/functions.html#__V) 图1-1 解决问题:实现字符串拼接 ...
- 【Azure 环境】在Windows环境中抓取网络包(netsh trace)后,如何转换为Wireshark格式以便进行分析
问题描述 如何在Windows环境中,不安装第三方软件的情况下(使用Windows内置指令),如何抓取网络包呢?并且如何转换为Wireshark 格式呢? 操作步骤 1) 以管理员模式打开CMD,使用 ...
- SpringCloud微服务实战——搭建企业级开发框架(二十六):自定义扩展OAuth2实现短信验证码登录
现在手机验证码登录似乎是每个网站必备的功能,OAuth2支持扩展自定义授权模式,前面介绍了如何在系统集成短信通知服务,这里我们进行OAuth2的授权模式自定义扩展,使系统支持短信验证码登录. 1.在g ...
- java 桥接模式实现代码
写在前面 桥接模式:将抽象与实现分离,使它们可以独立变化.它是用组合/聚合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度. 使用场景1:要绘制矩形.圆形.椭圆.正方形,绘制的图形需 ...
- Codeforces 1396D - Rainbow Rectangles(扫描线+线段树)
Codeforces 题面传送门 & 洛谷题面传送门 一道鸽了整整一年的题目,上一次提交好像是 2020 年 9 月 13 日来着的(?) 乍一看以为第 2 个提交和第 3 个提交只差了 43 ...
- Codeforces 1340F - Nastya and CBS(分块+哈希)
Codeforces 题面传送门 & 洛谷题面传送门 首先看到这样的数据范围我们可以考虑分块,具体来说,对于每一块我们记录其中的括号是否能完全消掉,以及对其进行括号相消之后的括号序列(显然是一 ...
- JSOI(联合省选)2021 划水记
流水账. Day 0 18:10 去本部拿准考证,结果发现已经没有人了./ruo 敲了几份板子,很早就去睡觉了. Day 1 7:30 到 NFLS 拿到准考证,几乎没有人来.于是做起了政治作业. 然 ...