java学习day009

一. 面向对象

1.1 概述

        面向对象(Object Oriented)是软件开发方法,一种编程范式。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到—定阶段后的产物。 ​ 面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行植式。

1.2 面向对象和面向过程

        面向过程: 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了; ​
        面向对象: 是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

1.3 构造方法

        构造方法:主要就是用于创建对象时调用,并给对象的属性初始化赋值 ​
        权限修饰符  方法名/类名 (参数列表) {方法体} ​
        构造方法没有返回值,连void也没有,另外构造方法的方法名必须和类名一致 ​
        如果类中没有定义构造方法,则默认有一个公共的无参构造 public类名() ​
        但是我们定义了构造方法,则不会在提供默认的无参构造,所以一般我们在创建构造方法的时候也会手动创建一个无参构造

        

1.4 类和对象

        对象: ​ 1.代码角度 : new 的一个实例,封装了成员属性 ​ 2.数据角度 : 封装数据和逻辑的一种方式 ​ 3.现实角度 : 对象就是某一个具体的东西,一切皆对象 ​ 4.设计角度 : 从一个实际的实体中抽象出来某些属性的一种实体表示

        类 : 描述了一类事物的属性和特征

        类中封装属性,对象封装属性值

1.4.1 变量 方法*

        静态变量:值,是类的所有对象共享(一个改变全部改变) ​
        成员变量:值,是对象独享,多个对象之间值不共享(之间互不影响,不能用在静态方法中)

        如果方法中需要用到成员属性,则该方法一定是成员方法,反之则静态方法

1.5 实例化

        1.加载相关类到方法区 ​
        2.在堆内存开辟内存空间
        3.调用构造方法,栈内存开辟栈帧,并对堆内存进行数据初始化 ​
        4.构造方法弹栈,把堆内存内存地址返回

        加载: ​ 静态加载:运行时,把所有相关文件一次性载入 ​ 动态加载:运行时,只载入核心文件,当用到其他文件时,再去加载其他文件 ​ java中采用动态加载

1.6 对象使用

对象.成员属性

1.7 Bean

1.所有属性都为私有化属性,不能直接访问 ​ 2.提供getter/setter方法,进行获取和修改 ​ 3.提供有参构造和无参构造

POJO : 普通实体类

1.8 常见异常

1.空指针异常(Exception in thread "main" java.lang.NullPointerException) 当使用null值时,访问成员属性时,会出现空指针异常(使用时不在指向堆内存)

1.9 对象调用静态方

1.10 注意事项

1.10.1 静态调用成员

需要创建对象调用

1.10.2 传值和传引用

1.10.1 区分成员方法和构造方法

看返回值,构造方法没有返回值,连void都没有

  • 16
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值