20200305java学习之路之 面向对象

一: 面向过程与面向对象

  1. 面向过程是强调过程(动作),

  2. 比如把大象装进冰箱的过程

  3. 首先把冰箱打开,然后把冰箱放进去,关掉冰箱

  4. 面向对象是强调对象(实体),对象就是该类事物中实实在在存在的个体

  5. 比如把大象装进冰箱的想法

  6. 首先把冰箱打开,存储在冰箱,关闭冰箱

1,如何用java语言描述现实生活中的事例

事例有属性和行为的特点,只要明确事物的属性和行为并定义类中即可

2.类与对象的关系

  • 类就是事物的描述
  • 对象就是该类事物的个体具有属性与行为,在java中可通过new创建

3.什么是对象的属性?什么是对象的行为?

  • 比如一辆汽车
  • 汽车就是对象
  • 汽车的颜色,汽车的轮胎个数,汽车的品牌等都是对象的属性
  • 汽车可以用来开车,观赏等是对对象的行为

二:面向对象的特点

  • 面向对象的重点就是对象,它是常见的思考方式,符合人们的思考逻辑。
  • 将复杂的问题简单化
  • 将执行者变为指挥者

三: 面向对象中的定义

  • 定义类就是定义成员。成员有成员变量和成员函数
  • 成员变量-----是属性
  • 成员函数-----是行为
class TestCar {
		int  num;
		String color;

		void run(){
			System.out.println(num+"....."+color);
		}
	}

	class CarDemo{
		public static void main(String [] args){
			Car c=new Car();
			c.num=4;
			c.color="red";
			c.run();
			Car c1=new Car();
			Car c2=new Car();
			show(c1);
			show(c2);
			//System.out.println(num+"....."+color);
		}
  • 要使用对象中的内容可以通过 对象 . 成员的形式来调用
  • 例如上述调用汽车的行为通过 **c.run();**来进行调用

四:面向对象的匿名对象

  • Car c=new Car();----------是有名字的对象
  • new Car();--------匿名对象,就是没有名字的对象。
  • 匿名对象可以作为实际参数进行传递
  • 若对象只对方法进行一次调用,则可以用匿名方法
  1. 若要调用可以用new Car() . run(();形式

  2. 例如:
    class TestCar {
    int num;
    String color;

    void run(){
    	System.out.println(num+"....."+color);
    }
    

    }
    class CarDemo{
    public static void main(String [] args){
    new Car().num=3;
    new Car ().color=“red”;
    new Car().run();
    }
    }

五:成员变量和局部变量区别

  • 成员变量定义在类中,整个类都可以访问
  • 局部变量定义在函数语句局部代码块中,只在所属区域有效
  • 成员变量存在于堆内存的对象中
  • 局部变量存在于栈内存的方法中

·成员变量随着对象的创建而存在,对象的消失而消失
··成员变量随着所属区域执行而存在,所属区域消失而释放
4.
·成员变量有默认初始值
··局部变量没有默认初始值

 //基本数据类型参数传递
 class Test{
    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
    }
}
*/

六:面向对象的特征------封装

  1. 封装就是隐藏对象上属性和实现细节,仅对外提供公共访问方式

  2. 封装的好处
    -提高数据的安全性
    -便于使用
    -提高重用性

  3. private --私有的,是一个权限修饰符,用于修饰成员。私有的内容只在本类中有效

  4. private私有的,仅是封装的一种体现。将成员变量私有化,对外提供Set,Get方法

class person{
	private /*siyouzhi*/int age;
	public void setAge(int a){
		if(a>0 && a<120){
		age=a;
		}
	else {
		System.out.println("error");
	}
	}
	void speak(){
	System.out.println("age="+age);
	}
}
class personDemo{
	public static void main(String [] args){
		person p=new person();
		//p.age=20;
		p.setAge(20);
		p.setAge(-20);
		p.speak();
		


	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值