我们的“对象”

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

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

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

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

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

事物的“类”

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

类——成员变量

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

public class people{
String eye;
String ear;
String head;
}


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

public class people{
public void run(){}
public void eat(){}
public void sleep(){}
}


2.2 局部变量

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

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

public getAge(){
int age = 11;//局部变量
return age;


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

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

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);


我们发现它输出的是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);


加了’ 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");


设置值描述

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();
}
}


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

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("对象将被被作为垃圾回收。。。");
}
}


练习一下

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

我们一起看一下代码:

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());
}


答案为1620.0

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

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




java类与对象题目 java类与对象的实验报告_java类与对象实验报告


作者:七七卡卡