Java面向对象1

把大象装进冰箱分几步?

1,面向过程:

  1. 打开冰箱。
  2. 存储大象。
  3. 关上冰箱。

对于面向过程思想,强调的是过程(动作)。
C语言.

2,面向对象:

  1. 冰箱打开。
  2. 冰箱存储。
  3. 冰箱关闭。

对于面向对象思想,强调的是对象(实体)。
C++ Java C#

面向对象特点:

  1. 面向对象就是一种常见的思想。符合人们的思考习惯。
  2. 面向对象的出现,将复杂的问题简单化。
  3. 面向对象的出现,让曾经在过程中的执行者,变成了对象中的指挥者。
/*
用java语言对现实生活中的事物进行描述。
通过类的形式来体现的。

怎么描述呢?
对于事物描述通常只关注两方面。
一个是属性,一个是行为。

只要明确该事物的属性和行为并定义在类中即可。

对象:其实就是该类事物实实在在存在的个体。

类与对象之间的关系?
类:事物的描述。
对象:该类事物的实例。在java中通过new来创建的。
*/

小汽车
在这里插入图片描述

/*
描述小汽车
分析:
1,属性:
			轮胎数。
			颜色。 
2,行为:
			运行。

class Car{
	int num;
	String color;
	void run(){
		//int num = 10;
		System.out.println(num+"..."+color);
	}
}

//汽车改装厂。
	public static void show(Car c) {			//类类型的变量一定指向对象。要不就是null。
		c.num = 3;
		c.color = "black";
		System.out.println(c.num+"..."+c.color);
	}

class  CarDemo{
	public static void main(String[] args) {
		//在计算机中创建一个car的实例。通过new关键字。 
//		Car c = new Car();		// c就是一个类类型的引用变量,指向了该类的对象。
//		c.num = 4;
//		c.color = "red";
//		c.run();			//要使用对象中的内容可以通过  对象.成员 的形式来完成调用。


//		Car c1 = new Car();
//		c1.num = 4;
//		c1.color = "red";

//		Car c2 = new Car();
//		c2.num = 4;
//		c2.color = "red";

//		Car c1 = new Car();
//		Car c2 = new Car();
//		show(c1);
//		show(c2);

		/*
		匿名对象。没有名字的对象 。
		new Car();//匿名对象。其实就是定义对象的简写格式。
		new Car().run();

		1,当对象对方法仅进行一次调用的时候,就可以简化成匿名对象。
		new Car().num = 5;
		new Car().color = "green";
		new Car().run();

		2,匿名对象可以作为实际参数进行传递。
//		Car c1 = new Car();
//		show(c1);

在这里插入图片描述

基本数据类型参数传递:

class Demo {
	public static void main(String[] args) {
		int x = 3;
		show(x);
		System.out.println("x="+x);
	}
	public static void show(int x){
		x = 4;
	}
}

引用数据类型参数传递

class Demo{
	int x = 3;
	public static void main(String[] args){
		Demo d = new Demo();
		d.x = 9;
		show(d);
		System.out.println(d.x);
	}
	public static void show(Demo d){
		d.x = 4;
	}
}
/*
运行结果为
4
*/
class Demo{
	int x = 3;
	public static void main(String[] args){
		Demo d = new Demo();
		d.x = 9;
		show(new Demo());
		System.out.println(d.x);
	}
	public static void show(Demo d){
		d.x = 4;
	}
}
/*
运行结果为
9
*/

在这里插入图片描述

/*
人:
属性:
		年龄。
行为:
		说话。
*/
/*
private:私有,是一个权限修饰符。用于修饰成员。
			私有的内容只在本类中有效。
注意:私有仅仅是封装的一种体现而已。
*/
class Person{
	private /*私有*/ int age;
	public void setAge(int a){	  //setXxx getXxx
		age = a;
	}
	public int getAge(){
		return age;
	}
	
	/*
	public void haha(int a)	{
		if(a>0 && a<130){
			age = a;
			speak();
		}
		else
			System.out.println("错误的数据");
	}
	*/
	
	void speak(){
		System.out.println("age="+age);
	}
}

class  PersonDemo{
	public static void main(String[] args) {
		Person p = new Person();
		
//		p.age = -20;
//		p.speak();

		p.haha(-20);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值