黑马程序员——java学习1(面向对象)

来源:互联网 发布:vim python ide 编辑:程序博客网 时间:2024/05/29 02:46

---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------


一、理解面向对象

1.面向对象是相对面向过程而言

2. 面向对象和面向过程都是一种思想

3面向过程——强调的是功能行为

4.将功能封装进对象,强调具备了功能的对象

5.面向对象是基于面向过程的


二、面向对象三个特征

1.封装 2.继承 3.多态

以后开发:就是找对象使用。没有对象,就创建一个对象。

找对象,建立对象,使用对象,维护对象的关系

类和对象的关系

描述:提取对象中共性内容,对具体的抽象

这些对象的共性有具体对象的属性。


映射到JAVA中,描述就是class定义的类

具体对象就是对应java在堆内存中用new建立实体


类就是:对现实生活中事物的描述

对象:就是这类事物,实实在在存在个体。

描述事物其实就是在描述事物的属性和行为

属性对应是类中变量,行为对应的类中的函数(方法)

其实定义类,就是在描述事物,就是在定义属性和行为,属性和行为共同成为类中的成员

1成员变量和局部变量

作用范围

成员变量作用于整个类中

局部变量变量作用于函数中,或者语句中

在内存中的位置:

成员变量:在堆内存中,因为对象的存在,才在内存中存在

局部变量:存在栈内存中

class Car{

String color="红色“;//描述颜色

int num=4;//描述轮胎数

void run(){//运行行为

System.out.println(color+".."+num);

//在类中也可写主函数

}

}

class CarDemo{

public static void main(String[] args){

//生产汽车,在java中通过new操作符来完成

//其实就是在堆内存产生一个实体

Car c=new Car(); //c就是一个类类型变量、类类型变量指向对象

//需求:将已有车的颜色改成蓝色,指挥该对象做使用,在java指挥方式是:对象,对象成员

c.color="blue";

c.run(); 

Car c1=new Car();

c1.run();//red 4;

}

}

三、匿名对象

1.匿名对象是对象的简化形式

2.匿名对象两种使用情况

(1)当对对象方法进行一次调用的时候

(2)匿名对象可以作为实际参数进行传递

class Car{

String color="红色“;//描述颜色

int num=4;//描述轮胎数

void run(){//运行行为

System.out.println(color+".."+num);

//在类中也可写主函数

}

}

class CarDemo{

public static void main(String[] args){

//生产汽车,在java中通过new操作符来完成

//其实就是在堆内存产生一个实体

//Car c=new Car(); //c就是一个类类型变量、类类型变量指向对象

//需求:将已有车的颜色改成蓝色,指挥该对象做使用,在java指挥方式是:对象,对象成员

//c.color="blue";

//c.run(); 

//Car c1=new Car();

//c1.run();//red 4;

//Car c=new Car();

//c.num=5;

new Car().num=5;

 newCar().run();

Car c=new Car();

c.run();

c.num=4;

new Car().run();

//匿名对象使用方式一:当对对象的方法只调用一次时,可以用匿名对象来完成,这样写比较简化

//如果对一个对象进行多个成员调用,必须给这个对象起个名字

//匿名对象使用方式二:可以将匿名对象作为实际参数进行传递

}

Car q=new Car();

show(q);//show(new Car());

}

//需求:汽车修配厂,改车,黑车,三个轮

 public static void show(Car c){

c.num=3;

c.color="black";

c.run();

}

}




---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------