欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA 类 + 对象学习(矩形面积小练习)

程序员文章站 2022-04-05 17:08:34
...

今天我们谈一谈JAVA中累和对象

你好WO SHI 七七卡卡 ^ _ ^

我们的“对象”

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

(局部变量是在方法被执行时创建的,方法执行结束而结束。局部变量在使用时要进行赋值或初始化。成员变量不被初始化不会报错)
JAVA 类 + 对象学习(矩形面积小练习)
大家一定要分清成员变量与局部变量。

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

JAVA 类 + 对象学习(矩形面积小练习)
我们发现它输出的是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);
	}
}

JAVA 类 + 对象学习(矩形面积小练习)
加了’ this ’ 成员方法里输出的 'name’值就是我们的成员变量,而不是方法中的参数

2.4 权限修饰符

JAVA 类 + 对象学习(矩形面积小练习)
private 私人的 私有的;如果用它修饰,只能自己用。
protect 如果用它修饰 自己可以用,自己一个母亲生的(同一个包或子 类)亲兄弟姐妹也可以用
public 如果用它修饰 谁都可以用

2.5类的构造方法

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

 构造方法的特点:
 ——没有返回值(普通没有返回值的方法使用public void 或methodEx()定义,但构造方法不需要使用void关键字进行修饰)
 ——构造方法的名称要与本类的名称相同

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

2.6如果类中没有明确定义构造方法,则编译器中会自动创建一个不带参数的默认构造方法
JAVA 类 + 对象学习(矩形面积小练习)
我们将public l1() {//创建方法}删除;
JAVA 类 + 对象学习(矩形面积小练习)
我们发现不会报错。。。。。
如果我们定义一个带参数的怎么办呢?
JAVA 类 + 对象学习(矩形面积小练习)
所以我们定义带参的方法时必须要输入参数
JAVA 类 + 对象学习(矩形面积小练习)
这样我们无参的构造方法就用不了了,如何可以使用呢?
JAVA 类 + 对象学习(矩形面积小练习)
我们在创建一个,这样就不会报错了
关于类我们就先说到这,下面我们说一说对象

对 象 的特性

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 的道路上提供一点点帮助。谢谢,

WO SHI 七七卡卡 ^ _ ^ 如果代码对你有帮助还希望 点赞+关注

相关标签: JAVA java