1.面向对象的思想
面向:拿或者找
对象:东西
面向对象编程:拿或者找东西过来编程解决问题
面向对象:把现实世界中的事物全部看成一个一个的对象来解决问题的。(万物皆对象)
面向对象编程的好处:代码符合人类的思维习惯,编程程序更简单,看程序更容易理解吧。
2.类、对象
类(设计图):相同事物共同特征的描述
对象:对象是类的具体的实例。
- 对象==实例
在Java中必须先定义类,才能得到对象。
3.定义类来创建对象使用呢?
定义类的格式
定义类有一些注意事项
- 1、类名首字母建议大写,有意义,满足驼峰,不要用关键字,合法的标志符
- 2、一个Java文件中可以定义多个类,但是只能一个类是public修饰的,而且public修饰的类名必须成为Java代码的文件名称,否则报错!
类中具体怎么写呢?
- 定义汽车类为例
- 一般名词定义成成员变量(属性):
- 修饰符 数据类型 变量名称 = 初始值;
- private String name;
- private double price;
- 成员变量不建议给初始化值,存在默认值,默认值的规则:整型是0,浮点型是0.0 引用类型null,布尔型是false
- 一般动词定义成方法(行为)
具体定义类的例子
- public class Car {
// 名词(属性,成员变量)
String name;
double price;
// 动词(行为,成员方法)
public void start(){
System.out.println(name + "价格是" + price +"启动成功~~");
}
public void run(){
System.out.println(name +
"价格是" + price +"性能很好,跑的很快~~");
}
}
创建对象
- 类名 对象名 = new 构造器();
- 对象怎么使用
- 对象名.成员变量
- 对象名.成员方法
4.构造器
作用:
- 初始化一个类的对象,并返回这个对象的地址。
详细格式:
- 修饰符 类名(形参){ .... }
构造器的分类:
- 无参数构造器
- 初始化一个类的对象,并返回这个对象的地址,里面的数据都是默认值
- 有参数构造器
- 初始化一个类的对象,并返回这个对象的地址,并且可以同时为对象赋值。
构造器如何调用呢?
- 类名 对象名 = new 构造器;
注意:
- 任何类写出来自带一个无参数构造器,写不写都有
- 如果你在这个类中定义了一个有参数构造器了,那么无参数构造器就消失了,此时,如果你还要使用无参数构造器,你必须自己写一个。
public class Car {
String name;
double price;
/**
无参数构造器
*/
public Car(){
System.out.println("无参数构造器被调用了~~");
}
/**
有参数构造器
*/
public Car(String n, double p){
System.out.println("有参数构造器被调用了~~");
name = n;
price = p;
}
}
5.this关键字
this的作用:代表了当前对象的地址,可以访问当前对象的成员变量和成员方法。
this具体用在哪儿呢?
- 可以用在有参数构造器中的
- public Car(String name, double price){
// 注意:this在构造器中,代表构造器正在初始化的那个对象。
System.out.println(this);
this.name = name;
this.price = price;
}
- 可以用在方法中
- public void goWith(String name){
// 注意:this在方法中,谁调用这个方法this就代表谁!
System.out.println(this.name + "正在和"
+ name +"比赛");
}
6.封装
面向对象的三大特征:封装、继承、多态。
封装的基本思想:
- 决定属性和行为归属谁的问题
- 定义人类(名称,年龄,吃饭、睡觉)
- 定义圆类
- 半径,画圆
- 定义门类
- 开门,高宽
- 定义票类
- 票价,地址,买票
如何更好的封装呢?
- 成员变量建议private私有化,只能本类访问了。
- 合理暴露:
- 提供成套的getter和setter方法暴露取值和赋值
7.标准JavaBean
是什么?就是所谓的实体类(学生类,老师类,汽车类,票类,人类)
作用:创建对象,封装数据的。
标准Bean的书写要求:
- 成员变量建议private私有化,只能本类访问了。
- 合理暴露:
- 提供成套的getter和setter方法暴露取值和赋值
- 必须提供无参数构造器。