JavaSE 06 初识面向对象

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 就不加。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值