JavaSE第三章 面向对象 POP 和 java类

本文详细讲解了Java中的面向对象编程,包括POP和OOP的区别、类的结构、对象的创建与使用、类中变量的类型、方法、对象引用、static关键字的应用以及初始化执行顺序等核心概念。通过学习,读者将对Java类有更深入的理解。
摘要由CSDN通过智能技术生成

3 第三章面向对象

3.1 POP和OOP

  1. 面向过程:procedure oriented programming 缩写 POP, 分析问题, 找出解决问题的步骤, 然后按步骤一步一步实现.

    • POP适合处理简单的问题, 直接关注流程.
  2. 面向对象:object oriented programming 缩写 OOP, 以分类的方式思考和解决问题.

    • OOP适合处理复杂的事情,先使用面向对象的方式对整体关系作出分类,然后,根据不同的类深入细节的处理。
  3. 两者之间的关系

    ​ 面向对象无法取代面向过程,他们是相辅相成的。面向对象关注于从宏观上把握事物之间的关系,在具体到如何实现某个细节时,仍然采用面向过程的思维方式。面向对象如果离开了面向过程,就无法实现真正的落地,成为无源之水。

3.2 Java类

3.2.1 what

类是一个模板, 它描述了某个事物的属性和行为.

类是客观世界中某事物的一些基本特征的抽象.

3.2.2 类的结构

变量成员(属性)
构造方法
成员方法
内部类

3.2.3 类的实例—对象

创建对象
//对象
Student tom = new Student();

Student misa = new Student();
对象的使用
// 同一类的每个对象有不同的成员变量存储空间。
// 调用对象属性
tom.name;

misa.name;

// 调用类方法
// 同一类的每个对象共享该类的方法。
tom.getUp();

misa.getUp();
总结

类是某一事物的抽象概念, 是一个模型.

对象是类的一个具体存在, 是一个实例.

3.2.4 类中变量

成员变量
  • 定义在类中,并在方法体之外的变量;
  • 成员变量会在类创建对象时复制一份到对象中去
  • 在类中都可以使用, 其作用范围为整个类体。
局部变量
  • 在方法, 块或构造方法中声明定义的变量叫做局部变量.
  • 变量的声明和初始化都在方法中, 方法结束后, 变量就会自动销毁.
静态变量

用static修饰的变量叫做静态变量(类变量), 它也声明在类中方法体之外

静态变量与非静态变量的区别
  1. 出现时间不同:
    • 静态变量只有一个, 在类加载时就已经存在 ;
    • 非静态变量在创建对象时才会出现 ;
  2. 存储地点(出现地点)不同:
    • jvm虚拟机在加载类的过程中为静态变量分配内存 , 静态变量存储在方法区中的静态区
    • 每创建一次对象,就会为变量分配一次内存,非静态变量存储在堆空间中
  3. 访问方式不同:
    • 静态变量被所有实例对象共享
    • 非静态变量只能在单个对象中访问, 不能共享
  4. 生命周期不同:
    • 静态变量会在jvm虚拟机关闭(程序执行完成之后)之后消失, 取决于类的生命周期,
    • 非静态变量会随着对象的回收, 而消失. 取决于实例对象的生命周期.

3.2.5 方法

构造方法

用来创建对象的方法

会在创建对象(对象实例化)时调用

  • 构造方法与类名同名, 无返回值 .也无需void修饰.
  • 一个类可以有多个构造方法,但方法参数不同;
  • 每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法,但是只要在一个Java类中定义了一个构造方法后,默认的无参构造方法即失效。
   /*
         构造方法  无参
     */
    public Student(){
   

    }
//  有参 构造方法
    public Student(String name, String sex, int age) {
   
        this.name = name;
        this.sex 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值