1.面向过程:
- 侧重的是过程
- 优点:简单
- 缺点:代码量大了之后,维护性非常差
2.面向对象:
- 侧重的是对象
- 优点:可扩展性非常强,维护成本低
- 缺点:新手上手难
3.类和对象
1)通过造车的例子中得到:
- 类就是图纸;类是一个模板,它描述一类对象的行为和状态.如:每辆车为该类的对象(object),它包含汽车的颜色、品牌、名称等;java中的类:可以为创建java对象的模板
- 属性:这一类事物拥有的共同属性;成员变量来描述,直接写在类中变量
- 动作:这一类事物共同能执行的功能;成员方法,不写static就是成员方法
- 对象:使用类创建的具体某一个东西;对象是一个实例,有状态和行为。如:汽车为类(class)
2)小技巧:A.在IDEA中使用psvm 输出java程序的入口地址
B.在写代码过程中:类要使用class定义
3)注:在面向对象的世界里,变量是没有是市场的,这种变量被称为引用;
C.类中没有定义的内容不可以使用
4)java分为两种数据类型:
①基本数据类型;
②引用数据类型; ( String 和我们所创造的所有类)
4.源文件声明规则:
①一个源文件只能有一个public类
②一个源文件可以有多个非public类
③源文件的名称应该和public类的别名保持一致
④如果一个类定义在某个某个包中,那么package语句应该在源文件首行
⑤如果源文件包含import语句,那么应该放在package语句和类定义之间。如果没有package语句,那么import语句应该在源文件中最前面
⑥import语句和package语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。
5.类与对象的关系:
1)一个类可以包括以下类型的变量:
- 局部变量:在方法、构造方法或者语句块中定义的变量为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
- 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
- 类变量:类变量也声明在类中,方法体之外,但必须声明为 static 类型。
2)构造方法:每个类都有构造方法;在创建对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法
3)创建对象:对象是根据类创建的。在java中,使用关键字new类创建一个新的对象。创建对象的三步:
- 声明:声明一个对象,包括对象名称和对象类型
- 实例化:使用关键字 new 来创建一个对象。
- 初始化:使用 new 创建对象时,会调用构造方法初始化对象。
4)访问实例变量和方法:
①通过已创建的对象来访问成员变量和成员方法。
1成员变量是定义在类中的变量,用于存储对象的数据。它们可以是基本数据类型(如整数、浮点数等)或引用类型(如对象、数组等)。成员变量可以直接在类的任何方法、构造函数或块中使用。
2.成员方法是定义在类中的函数,用于操作对象的数据。它们可以访问和修改成员变量,并且可以执行其他逻辑操作。成员方法可以分为实例方法和静态方法。
3.分类方面,成员变量可以分为实例变量和静态变量。
1). 实例变量:也称为对象变量,每个对象都有自己的一份实例变量的副本。它们在对象创建时被初始化,在整个对象的生命周期内存在。实例变量需要通过对象来访问。
2). 静态变量:也称为类变量,所有对象共享同一份静态变量的副本。它们在类加载时被初始化,在整个程序运行期间都存在。静态变量可以通过类名直接访问。
4.区别方面,主要有以下几点:
1). 存储位置:成员变量存储在堆内存中的对象中,而成员方法存储在方法区中。
2). 调用方式:成员变量需要通过对象来访问和修改,而成员方法可以直接通过对象或类名调用(静态方法)。
5. 生命周期:成员变量的生命周期与对象相同,而成员方法的生命周期与类相同。
6. 共享性:实例变量是每个对象独有的,互相之间不会产生影响;而静态变量是所有对象共享的,修改静态变量会影响所有对象。
总结起来,成员变量用于存储对象的数据,成员方法用于操作对象的数据。成员变量可以分为实例变量和静态变量,而成员方法可以分为实例方法和静态方法。它们在存储位置、调用方式、生命周期和共享性等方面存在差异。
②方法也可以以分为实例方法和非实例方法
①实例方法不带关键字Static
②非实例方法带Static关键字