Day27-万物皆对象

版权声明:啥是版权,感觉都是侵权必究。我也会究的。 https://blog.csdn.net/Scan_13286/article/details/84799791

Day27-万物皆对象


在世间的任何事物,都可以成为对象,以至于我一度怀疑这个世界的真实性。也许我们只是生存在网络里。而网络的外端才是把我们创造出来的人,只是他们的文明比我们更高,我们无法发现。因为没有人知道宇宙的边界到底是什么。


扯个闲篇。没有对象的程序员可以自己new一个出来【来自程序员的烂梗】


Java中都是以类来作为单位的。
而类是什么?

类是class,也称为类型,类也可以理解为一个模板。

就像人类,人类可以按肤色分为黑种人、白种人、黄种人。只是属性不同,但是我们同属于人类。人类中封装了我们拥有人的属性,比如:头颅,四肢,躯干等等。也封装了我们拥有人的方法,比如:进食,运动,上厕所等等。

而拥有相同属性和相同方法的事物的集合,我们可以称为类。

//创建一个人类
public class Human(){
	String name;  //具有姓名的属性
	char sex;     //具有性别的属性
	int age;	   //具有年龄的属性
	/**
	*  拥有进食的方法。
	*/
	void eat(){
		System.out.println("吃东西");
	}
	/**
	*
	*/
	void show(){
		System.out.println("I am"+name+",I am "+age)
	}
	/**
	* 拥有运动的方法
	*/
	void sport(){
		System.out.println("运动");
	}
}

属性:可以理解为一个名词。比如姓名就是一个名词
方法:可以理解为一个动作。比如进食就是一个动作
当然我们人类不仅仅只有这些属性和方法。以上只是简单举例。

那么比如猴子,他也有以上定义的姓名,年龄,性别的属性,也拥有进食和运动的方法,那它也是人类吗?

当然不是。我们可以根据生物的差异性,而衍生出成千上万的类。就像猴子有尾巴,而人没有。这样猴子就可以构建猴类,但人类和猴类又同属于生物类。因为我们也拥有同样的属性和方法。

那么具体怎么创建一个人呢?也就是怎么new呢?

public void TestHuman(){
	public static void main(Strimg args[]){
		Human Tony = new Human();
		Tony.nam = "Tony";
		Tony.age = "18";
		Tony.sex = "male";
		Tony.show();
	}
}

通过 new 将类这个模板,具体的实例化,把他变成一个实际的例子。
变成了 Tony ,并赋予了他姓名,年龄,性别等等。拥有和人一样的属性。并让他调用show()方法,介绍自己。

控制台会输出: I am Tony ,I am 18


方法 method 可以改变他的返回类型。

public class Human(){
	...
	[中间省略,参照上面那个例子。]
	...
	public String speak(){
		return "Emmmmmmmmm";
	}
}

之前的返回类型为void,即空类型。就是没有返回。

但出来void以外的所有返回类型,都要又return 来接返回值。而返回值一定要为相应的返回类型。

之后调用的话。

Tony.speak();

控制台并不会输出。
只是调用了这个方法。
需要用变量来接收这个返回值。
如:String speak = Tony.speak();
那么这个 speak的值就变成了"Emmmmmmmmm"。

和Scanner input = new Scanner(System.in);
String name = input.nextLine();
一个道理。


而方法还分为有参方法和无参方法
即:

public class Human(){
	...
	[中间省略,参照上面那个例子。]
	public void eat(String food,String tool){
		System.out.println("使用"+tool+"吃"+food);
	}
	...
}

没有参数的方法,就是无参方法。
而有参数的方法,就是有参方法。
有参方法要给定方法一个参数或多个参数。
就像上面这个例子,

eat()方法,执行吃这个动作的话,肯定需要参数食物,就是吃什么?
总要有个东西,肯定需要工具,就是拿什么吃?

别说可以不用工具,用手也是工具,用嘴巴也是工具。


扯了半天。

猜你喜欢

转载自blog.csdn.net/Scan_13286/article/details/84799791