一、面向对象的基本概述:
1、相关说明:
1)java是面向对象的语言。
2)对象:真实存在唯一的事物。
3)类: 实际就是对某种类型事物的共性属性与行为的抽取。 类并不是真实的具体例子,而是抽象的概念。
2、面向对象语言产生的原因:在现实生活中就存在对象与类这两种事物。计算机是服务于人类,为了让计算机更加接近我们的生活,这时候就出现了面向对象的计算机语言。
面向过程(C)————————面向对象(java)
动作的执行者——————————动作的指挥者
3、对象与类的关系
现实生活中 : 对象———类(由多个对象归纳出了类)
在java中: 类————>对象(有了类才能创建这个类的对象)
4、面向对象的计算机语言核心思想: 找适合的对象做适合的事情。
1)如何找适合的对象:
a)sun已经定义好了很多的类,我们只需要认识这些类,我们就可以通过这些类创建对象使用。
b)自定义类,通过自定义类来创建对象使用。
5、自定义类创建对象的三步骤:
1)自定义类
格式:
class 类名{
事物的公共属性使用成员变量描述。
事物的公共行为使用函数描述。
}
2)通过自定义类创建对象。
格式:
类名 变量名 = new 类名();
3)访问(设置)对象的属性或者调用对象的功能。
a)访问对象属性:
对象.属性名;
b)设置对象的属性:
对象.属性名 = 数据;
c)调用对象的功能:
对象.函数名();
二、内存分析:
使用的类的代码:
class Car{
//事物的公共属性使用成员变量描述。
String name; //名字的属性
String color; //颜色属性
int wheel; //轮子数
//事物的公共行为使用函数描述。
public void run(){
System.out.println(name+"飞快的跑起来啦...");
}
}
实例一:
实例二:
实例三:
三、应用示例:
1、需求:使用java描述一个车与修车厂两个事物。
车具备的公共属性:轮子数、 名字、 颜色 ,还具备跑的功能行为。跑之前要检测轮子是否少于了4个,如果少于了4个,那么要送到修车厂修理,修车厂修理之后,车的轮子数要补回来4个。 然后车就继续的跑起来。
修车厂: 具备公共属性: 名字、 地址、 电话。公共的行为: 修车。
2、代码:
class Car{
String name;
String color;
int wheel;
public void run(){
if(wheel==4){
System.out.println("车况正常,高速飞驰");
}else{
System.out.println("缺少轮子,需要修理");
CarFactory cf = new CarFactory();
//this,表示使用当前对象
cf.repair(this);
}
}
}
class CarFactory{
String name;
String address;
String phone;
public void repair(Car c){
if(c.wheel!=4){
c.wheel = 4;
System.out.println("车修好了!");
}
}
}
class Demo1{
public static void main(String[] args){
Car c = new Car();
c.wheel = 4;
for(int i = 0;i<10;i++){
c.run();
}
c.wheel = 3;
c.run();
}
}
3、效果:
4、初学者的经典错误:
1)变量在同一个作用域(大括号)上是可以直接访问的。
2)如果一个类要访问另外一个类变量时,那么这时候就只能通过创建对象进行访问。(仅对于目前正确)