---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
理解面向对象
1.面向对象是相对面向过程而言的
2.面向对象和面向过程都是一种思想
3.面向过程(强调的是功能行为)
4.面向对象(将功能封装进对象,强调具备了功能的对象)
5.面向对象是基于面向过程的(面向过程是面向对象的基础)
面向对象的三个特征封装、继承、多态。以后开发,就是找对象,没有对象,就创建一个对象。
类和对象的关系:
张三、李四是现实生活中的对象。
描述时,这些对象的共性有姓名、年龄、性别、学习java功能。
映射到java中,描述就是class定义的类。
具体对象就是对应java在堆内存中用new建立实体。
类:对现实生活中事物的描述。
对象,就是这类事物,实实在在的个体。
//需求:描述汽车(颜色,轮胎),描述事物其实就是描述事物的属性和行为
//属性对应是类中的变量,行为对应是类中的函数
//其实定义类,就是描述事物,就是在定义属性和行为。属性和行为共同成为类中的成员(成员变量和成员方法)
class Car
{
String color = "红色";
int num = 4;
void run(){
System.out.println("汽车在奔跑:color="+color+",num="+num);
}
}
class CarDemo
{
public static void main(String[] args){
//生产汽车,就是在java中通过new操作符来完成
//其实就是堆内存产生一个实体。
//c引用型变量,c就是一个类类型变量,记住:类类型变量指向对象
Car c = new Car();
c.color = "blue";
c.run();
Car c1 = new Car();
c1.run();
}
}
主函数是一个入口函数用于调用别人。
成员变量和局部变量
成员变量:作用于整个类中。
在堆内存中,因为对象的存在,才在内存中存在
局部变量:作用与函数、语句(例for循环语句中)中
存在于栈内存中
上面的语句:c.color=”blue”;,改变的是堆内存中c对象的color。
匿名对象
new Car().num = 5;
new Car().color = "blue";
new Car().run();
Car c = new Car();
c.run();
c.num = 4;
new Car.run();
匿名对象的使用方式一:当对象的方法只调用一次时,可以用匿名对象来完成,这样写可以简化。 如果对一个对象进行多个成员的调用,必须给这个对象起个名字。
匿名对象的使用方式二: 可以将匿名对象作为实际参数进行传递。
两种情况,有些不同。
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
详情请查看:http://edu.csdn.net