Java基础04_面向对象
面向对象编程基本概念
1、对象:具有属性和行为的实体,万物皆对象
2、面向对象
- 特点:
- 更符合自然思维的习惯
- 将复杂事情简单化
- 从执行者变成指挥者
- 开发:不断创建对象,使用对象,指挥对象
- 设计:管理和维护对象之间的关系
3、面向对象的基本特性
- 封装
- 继承
- 多态
- 抽象
4、类:面向对象的最小单元,基本单位(抽象)
类和对象的关系:多个对象—抽象–>类–实例化–>多个对象
类:一组相关的属性和行为的集合
由成员变量、构造方法、成员方法构成
<修饰词> class类名{
成员变量;
构造方法;
成员方法;
}
4、构造器(构造方法)
- 定义:方法名称与类名一致的方法
- 作用:创建对象,初始化对象
- 特点:
- 一个类中至少存在一个构造器
- 构造器名称与类名相同
- 没有返回类型
- 构造方法的调用是在创建一个对象时使用new操作符进行的
- 构造方法可以包含参数,参数一般是创建对象实例必须依赖的条件
- 构造方法的创建
- 无参构造
public Person(){
}
- 有参构造
public Person(String name,int age){
this.name = name;
this.age = age;
}
- 构造方法的重载
在实际开发种,如果类种有自定义构造方法,则必须手动将无参构造方法写在类中。
5、创建对象:类名 对象名 = new 类名();
- 匿名对象
- 定义:匿名对象就是没有名字的对象。是对象的一种简化表示形式。
- 使用情况:
- 对象调用方法仅仅一次的时候,一般如果这个对象只是用一次的时候采用
- 作为实际参数传递
- 注意事项:
1.一般不给匿名对象赋属性值,无法获取
2.两个匿名对象永远不可能是同一个对象
6、成员变量和成员方法
- 成员变量(全局变量)
- 在类里方法外定义的变量
- 变量类型可以是复合类型
- 在整个类内部都可以使用
- 堆内存
- 成员变量、类变量、局部变量三者区别
- 类变量:在类里声明用static修饰的变量
- 局部变量:在方法中定义的变量,只在定义它的方法中有效。栈内存
- 成员方法(成员函数):描述事物的行为
- 成员方法是类中定义的方法
- 返回类型可以是任意的Java数据类型
- 当一个方法不需要返回值时,返回类型为void
7、面向对象编程的主线
- 编写一个类(属性,方法,构造方法,注释)
- 根据类创建一个对象
- 通过对象调用方法和属性
8、复合数据类型
- 复合数据类型(类、数组、接口)
- 复合数据类型数据以对象的形式存在
- 复合数据类型变量的值是某个对象的引用,而不是对象本身
- 声明复合数据类型变量时,系统只为该变量分配引用空间,并未创建一个具体对象
9、值传递与引用传递
- 基本数据类型传值,对形参的修改不会影响实参
- 引用类型传引用,形参和实参指向同一个内存地址(同一个对象),所以对参数的修改会影响到实际的对象
- String,Integer,Double等immutable(不可改变)的类型特殊处理,最后的操作不会修改实参对象