学习java要学类与对象的使用吗_java学习-初级入门-面向对象③-类与对象-类与对象的定义和使用1...

今天学习类与对象。先大致解释一下类与对象的含义。

对象:object 有物体这一概念,一切皆对象(物体),对象由静态的属性和动态的行为组成。

比如说水杯:

水杯的静态属性:材质,容量,质量,颜色

动态的行为:装水,被用来喝水

类:一组具有相同属性和行为的对象的抽象。

杯子类: 水杯牙杯保温杯

车类:自行车汽车溜溜车

今天我们通过设计一个坐标类来实现类的设计:

案例:设计坐标类;

题目要求:

设计坐标点的类,具有横纵坐标两个属性

具有初始化和计算两个点之间距离的方法。

解题思路:

1.创建一个Point类

2.定义point类的变量 坐标x , 坐标y

3.构造初始化方法

4.计算两个点到点的距离 (d = √(x1-x2)²+(y1-y2)²)

程序代码:

Point类

1 public classPoint {2 private double x; //成员变量

3 private doubley;4

5 /**6 * 初始化方法,调用时用来传入横纵坐标的值。7 * @param x 横坐标8 * @param y 纵坐标9 */

10 public void init(double x,doubley){11 this.x =x;12 this.y =y;13 }14

15 /**16 * @param p 计算距离的两个点之一(因为这个类自己本身就是一个坐标,所以调用 类自己的距离函数 的时候,只需要加入要比较的坐标即可)17 * @return 距离18 */

19 public doubledistance(Point p){20 return Math.sqrt(Math.pow((p.x-this.x),2)+Math.pow((p.y-this.y),2)); //当前对象 p1.distance(p2)) this 表示的是 p1

21 }22

23 /**24 * 输出坐标信息的函数(这个函数是拿来说明 this表示的是 自身 所代表的坐标 )25 * @param p 坐标26 */

27 public voidprint(Point p ){28 System.out.println("this.x 为:"+this.x + ". this.y 为:"+this.y);29 System.out.println("p.x 为:"+p.x + "p.y 为:" +p.y);30 }31 }

测试代码:

Test类

1 public classTest {2 public static voidmain(String[] args) {3 Point p1 = newPoint();4 Point p2 = newPoint();5

6 p1.init(3,4);7 p2.init(0,0);8

9 p1.print(p2);10 System.out.println("验证两点之间距离:"+p1.distance(p2));11 }12 }

有时候分不清this表示的到底是谁的值,编译器也为我们提供了方便。

ed982a8275c140c482253b98fc7e0342.png

当你双击this.x 的 x 的时候,发现跟类自身变量是一个。说明this表示的是类自己的x。

而白色的x则表示 形式参数( double x) 的X。

运行结果:

3a9f8796a2e7f7129520cd31240756f6.png

测试代码中我们求的是  p1.print(p2);     我们是用p1对象调用的函数,p1对象本身的坐标是(3,4)

这就说明了this的确是  表示 对象本身。

实验心得:

今天学会了使用和构造函数,代码要保持规范。

命名是要遵守。    类名首字母要大写,变量小写,final常量全部大写,方法函数命名遵循驼峰命名法。

this 表示的对象本身,这个概念要理解,后面还会有新的名词,一不小心就会搞混乱。

如果你在这篇文章学到了东西,我会很开心。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值