1、什么是Java面向对象?
Java面向对象是一种编程范式,它强调把程序组织成对象,每个对象具有特定的属性和方法,使用这种编程模型可以更快、更容易地编写出可维护的代码。
2、面向对象与面向过程的区别?
共同点:都是一种思想,思维方式,思考问题的角度
异同点:面向过程->”我该如何实现?“实现过程需要哪些步骤,面向过程
面向对象->”我该找谁实现?“,只关心对象,实现结果,不关心实现的过程
例如问题:完成把大象装进冰箱里去
用面向过程思维解决:步骤一:把大象牵到冰箱前
步骤二:把冰箱门打开
步骤三:把大象塞进冰箱里
步骤四:关上冰箱
问题解决。
用面向对象思维解决:张三具有把大象装进冰箱里的功能,让张三帮我把大象装进冰箱里,大象被装进冰箱了,问题解决。
3、面向对象优点:
面向对象可以将复杂的问题简单化
面向对象更贴合管理者思考角度,面向过程贴合执行者思考角度
4、如何使用面向对象思想进行编程:
将程序与生活紧密联系
类:抽取了一系列对象的共性-->图纸|模板|实体类
对象:描述现实生活中真是存在的事物|实例
先有类,再根据类创建对象
5、实体类分析:
一系列对象(汽车)都有哪些共同属性|特点|特征?
颜色 品牌 价格 ......(成员变量:定义在类中方法外)
对象具有哪些功能|能力?
行驶 跑(成员方法:定义在类中方法外,不被static修饰的方法)
语法:
public class 类名{
//成员
//属性
修饰符 数据类型 变量名;
//功能
修饰符 返回值类型|void 方法名(参数列表){
实现功能的代码;
}
}
创建一个汽车类:
public class Car{
public String color;
public String brand;
public int price;
public void run(){
System.out.println("一辆"+color+brand+"价格为"+"元的汽车在奔跑");
}
}
创建一个汽车测试类:
1.导包 : 指明要使用的类型的位置
import 权限定名;
不需要导包的类 :
java.lang包下的类:String System Math...
同包类
2.创建对象 new
引用数据类型 变量名|对象名|引用 = new 引用数据类型();
//创建一个小汽车对象 car1
Car car1 = new Car();
3.使用对象
使用属性 : 为属性赋值|获取属性的值
对象.变量名
//为属性赋值
car1.color = "黑色";//car1的颜色为黑色
car1.brand = "柯尼塞格";//car1的品牌为柯尼塞格
car1.price = 20000000;//car1的价格为两千万
//获取属性的值
System.out.println(car1.color);//获取car1的颜色
System.out.println(car1.brand);//获取car1的品牌
System.out.println(car1.price);//获取car1的价格
使用功能 : 调用方法
对象.方法名(实参)
car1.run();
public class CarTest {
public static void main(String[] args) {
//1.创建小汽车对象
Car car1 = new Car();
Car car2 = new Car();
//2.使用
car1.color = "黑色";
car1.brand = "柯尼塞格";
car1.price = 20000000;
car1.color = "白色";
car1.brand = "帕加尼";
car1.price = 30000000;
car1.run();
car2.run();
//局部变量的声明
Car car3;
//匿名对象 : 只能在当前行使用一次
new Car3().run();
}
}
注意 : 成员是属于对象的,需要跟随对象使用成员(成员变量|成员方法)
成员变量只声明不赋值存在默认值 : 整数0 小数0.0 布尔:false 字符:空字符 引用数据类型:null