JavaSE 06 初识面向对象

    xiaoxiao2021-03-25  11

    1、面向对象和面向过程的理解

    示例:把大象放到冰箱: ⑴ 面向过程:打开冰箱门 → 把大象放到冰箱中 → 关闭冰箱门。 ⑵ 面向对象:⒈人:①打开冰箱,②放入大象,③关闭冰箱。 ⒉冰箱:①开门,②关门。 人(①)调用冰箱的(①)【人调用冰箱的开门功能】 → 人(②)【把大象放到冰箱中】 → 人(③)调用冰箱的(③)【人调用冰箱的关门功能】

    总结:⑴面向过程:侧重于怎么做,强调功能行为。是以执行者的角度分析问题。适合小型项目。 ⑵面向对象:侧重于让谁做,强调具备了功能的对象。是以指挥者的角度分析问题。适合中大型项目。 ⑶面向对象和面向过程两者不是完全脱离开来的,二者相辅相成,不可分割。

    2、面向对象的三大特征

    封装、继承、多态

    3、采用面向对象的思考方式解决问题

    ⑴ 分析问题中设计到了哪些对象 名词抽取法 ⑵ 分析问题中用到了哪些功能 ⑶ 按面向过程的方式,依次将步骤写下即可(调用对象的功能)

    4、对象

    Java中一切客观存在、可以被描述的事物都是对象。万物皆对象。

    5、如何区分开每个对象

    描述一个对象可以通过两个部分:属性和方法。

    属性:描述对象的外部特征。如:姓名、年龄、体重、颜色等。 方法:描述对象的行为特征或功能。如:吃、睡、学习等。

    6、类

    一组具有共同属性和方法的对象的集合被成为类。 多个对象的属性和方法类似,可以将这组对象提取出来,定义成一个类。

    7、类和对象的关系和区别

    ⑴ 关系 对象是客观存在的 类是抽象的,是一个模版,不能实际操作。

    ⑵ 区别 ① 类是通过对象提取(思考)出来的。 对象是通过创建(写代码)出来的。 ② 类是对象所属的类型。 对象是类的一个实例或实体。

    8、创建类和对象

    ⑴ 创建类

    ① 创建一个class,起一个类名。如:Person ② 编写类的属性 语法:和声明变量的语法一样。 ③ 编写类的方法 语法: 修饰符 返回值类型 方法名(形参列表){       方法体 }

    ⑵ 创建对象

    ① 创建对象 类名 对象名 = new 类名(); ② 访问对象的属性 为对象的属性赋值:对象名.属性名 = 值; 使用对象的属性:对象名.属性名; ③ 使用对象的方法 对象名.方法名(实参);

    9、类和对象的内存分配图

    ⑴ 栈:存放的是对象的引用和局部变量。 堆:存放的是对象。 方法区:存放的是类的描述信息,包括方法的描述。 ⑵ 对象和对象之间是互相独立的,它们都有各自的存储空间,互不影响。 ⑶ 当第一次创建对象时,类会被加载到方法区中。但是其他次创建对象时,类则不会继续被加载到方法区中。类只能被加载一次。整个方法区中只会存储一份类的描述信息。

    10、类的成员

    ⒈ 属性

    ⑴ 属性的赋值 ① 如果对象的属性不赋值,则会有默认值 int: 0 double: 0.0 char: ‘\u0000’ boolean: false String: null ② 不同的对象的属性,是独立的,互不影响。 ③ 如果为对象的属性赋予了新值,则会覆盖旧值。

    ⑵ 成员变量和局部变量的区别 ① 变量的作用域:变量的作用范围。

    ② 如何确定变量的作用域:取决于包含此变量的,最近的大括号。

    ③ 根据变量作用域的不同,将变量分为两类 ⒈成员变量(全局变量): 变量的作用域为整个类 ⒉局部变量: 变量的作用域为某代码块(方法)

    ④ 成员变量和局部变量的区别 ⒈ 局部变量必须先赋值,才可以使用。 成员变量可以不用赋值就使用,因为它有默认值。 ⒉ 全局变量随着对象的创建而创建,伴随着对象的消亡而消亡。生命周期较长。 局部变量随着代码块(方法)的执行而创建,伴随着代码块(方法)的执行结束而消亡。声明周期较短。 ⒊ 两个局部变量,如果在同一个代码块(方法)中,即有着相同的作用域时,则它们不能重名。 一个成员变量和局部变量可以重名,使用时遵循就近原则。 示例:

    public class Test { public static void main(String[] args) { new Person().sayAge(); // 10 } } class Person { int age = 20; void sayAge() { int age = 10; System.out.println(age); } }

    ⒉ 方法

    语法:修饰符 返回值类型 方法名(形参列表){        方法体 } 修饰符:public 公共的,一般建议加上 static 修饰方法:静态方法 没有用static修饰的方法:普通方法

    注意:⑴ 通过类名可以调用静态方法,但不能调用普通方法。只能通过对象名来调用普通方法。 ⑵ 静态方法中,只能访问静态的方法或静态的属性。 而普通方法既可以访问静态的方法或静态的属性,也可以访问普通的方法或普通的属性。 ⑶ 原则上是能不加static 就不加。

    转载请注明原文地址: https://ju.6miu.com/read-200232.html

    最新回复(0)