java类与对象实验报告_JAVA 类 + 对象学习(矩形面积小练习)

我们的“对象”

0.1 JAVA中的 “对象”并非我们生活中我们所认为的对象,JAVA中的 “对象”是为了解决一些实际的问题所引入的概念即为面对对象。实际上是一种建模的操作,别的不扯,其他的不谈我们来看一看我们的 “对象”。

0.2 我们的“对象”分为两种,静态部分与动态

静态属性(一个人的高矮胖瘦,一部手机的名字信息)

动态行为 (一个人蹦迪,跳EDM、857.。。。)

0.3 我们首先要将现实世界的实体抽象为对象,然后考虑对象的的 属性 和 行为。

事物的“类”

1.0 类 就是同一类事物的统称,如果将现实世界中的一个事物抽象成对象,累就是这类对象的统称。

类——成员变量

2.0 成员变量——类的属性(例如我们创建一个人的类)

public class people{

String eye;

String ear;

String head;

}

1

2

3

4

5

2.1 成员方法——类的行为(例如我们创建一人的方法)

public class people{

public void run(){}

public void eat(){}

public void sleep(){}

}

1

2

3

4

5

2.2 局部变量

在 类 里创建一个变量——成员变量;

在成员方法内创建一个变量——局部变量;

public getAge(){

int age = 11;//局部变量

return age;

}

1

2

3

4

(局部变量是在方法被执行时创建的,方法执行结束而结束。局部变量在使用时要进行赋值或初始化。成员变量不被初始化不会报错)

大家一定要分清成员变量与局部变量。

2.3 this 关键字

对于 this 关键字我们用两串代码来认识一下:

public class l2 {//类

int age = 18;//成员变量

public void getAge(int age) {//方法

System.out.println(age);

}

public static void main(String[] args) {

l2 a = new l2();

a.getAge(12);

}

}

1

2

3

4

5

6

7

8

9

10

11

12

我们发现它输出的是12,,,,

方法中的age 实际上是参数中的age 不是成员变量

我们用this 关键字再运行一下:

public class l2 {//类

int age = 18;//成员变量

public void getAge(int age) {//方法

System.out.println(this.age);

}

public static void main(String[] args) {

l2 a = new l2();

a.getAge(12);

}

}

1

2

3

4

5

6

7

8

9

10

11

12

加了’ this ’ 成员方法里输出的 'name’值就是我们的成员变量,而不是方法中的参数

2.4 权限修饰符

private 私人的 私有的;如果用它修饰,只能自己用。

protect 如果用它修饰 自己可以用,自己一个母亲生的(同一个包或子 类)亲兄弟姐妹也可以用

public 如果用它修饰 谁都可以用

2.5类的构造方法

构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的。每当类实例化一个对象,类都会自动调用构造方法。

构造方法的特点:

——没有返回值(普通没有返回值的方法使用public void 或methodEx()定义,但构造方法不需要使用void关键字进行修饰)

——构造方法的名称要与本类的名称相同

1

2

3

构造方法就是创建类的对象过程中运行的方法,也就是对对象的初始化。

2.6如果类中没有明确定义构造方法,则编译器中会自动创建一个不带参数的默认构造方法

我们将public l1() {//创建方法}删除;

我们发现不会报错。。。。。

如果我们定义一个带参数的怎么办呢?

所以我们定义带参的方法时必须要输入参数

这样我们无参的构造方法就用不了了,如何可以使用呢?

我们在创建一个,这样就不会报错了

关于类我们就先说到这,下面我们说一说对象

对 象 的特性

3.0 对象的创建

age z = new age();

age z = new age("18");

1

2

设置值描述

age类(名)

z创建age 对象(引用)

new创建对象操作符

new age实体对象

“18”构造方法的参数

我们来做一个关于计算机教师的小练习

class Teacher {

String name;

String zhuanye;

String kecheng;

int age;

public void introduce() {

System.out.println(

"大家好,我是教员:" + name + " 。" + "我的专业是:" + zhuanye + " 。" + "我的课程:" + kecheng + " 。" + "我的教龄:" + age);

}

}

public class l4 {

public static void main(String[] args) {

Teacher stu = new Teacher();

stu.name = "七七卡卡";

stu.zhuanye = "胎儿计算机教学+EDM+857";

stu.kecheng = "只有雨天才上课";

stu.age = 3;

stu.introduce();

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

这样我们就输出了一位关于教师的信息

3.1 对象的销毁

finalize()方法

如果用户在类中定义了finalize()方法,在垃圾回收站时会首先调用该方法,在下一次垃圾回收动作时发生,才能真正回收被对象占用的空间。

public static void main(String[] args) {

// TODO 自动生成的方法存根

AA p1 = new AA();

AA p2 = new AA();

p1 = null;

p2 = null;

System.gc();

for(int i =0;i<10000;i++) {

}

}

}

class AA{

public void finalize() {

System.out.println("对象将被被作为垃圾回收。。。");

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

练习一下

给大家一个小练习:编写一个矩形类将长和高作为矩形类的属性,在构造方法中将长、宽初始化,定义一个成员方法求矩形面积

我们一起看一下代码:

public class l3 {//类

public float height;

public float width;

public l3(float height,float width){//属性

this.height=height;

this.width=width;

}

public float square(){//成员方法

return height*width;

}

public static void main(String args[]){

l3 u=new l3(40f,40.5f);

System.out.println(u.square());

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

答案为1620.0

2020年对于我们每一个人来说像是不好一年,世界的疫情、各地的灾难、个人的不顺,好像2020对于每一人来说都是充满荆棘的一年,但再怎样的不舒心,太阳照样东起西落,明天终将会到来,无论有再大的困难,与其在那彷徨徘徊,不如冷静思考,相信明天总会是光明的,困难总会过去,你我不断前行。

希望对你在学习 JAVA 的道路上提供一点点帮助。谢谢,

fde411305bf78631aac5b2e07a970582.png

作者:七七卡卡

原文链接:https://blog.csdn.net/qq_47018979/java/article/details/105665357

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页