Java基础(4)

面向对象的思想

  • 分析
    拿到给功能后,对其进行分析得出各个子功能,再分析各个子功能所对应的对象,进而分析各个对象之间的关系,再分析各个对象所属范围

  • 实现过程:先创建类->再创建对象->对象调用方法->运行

对象与类的关系

  • 对象是由属性和方法构成
  • 类是由具有共同属性和方法的多个对象抽象出来
  • 由上可知:类是对象的模板,对象是类的具体实现
  • 注意:类是Java程序的基本编程单位

静态

  • 概念:类中共有的元素(方法、数据)其被放入静态区(共享区),可以被类中所有对象共享。
  • 声明方法:用static修饰
  • 访问方法:类名.共享元素名

类的内容

  • 属性、方法、构造方法(实现实例化的方法)、块、内部类

类的创建语法

【访问权限修饰符】 【修饰符】 class 类名{//类体}

构造方法

  • 声明方法:【访问权限修饰符】 方法名(形参列表){//方法体}
  • 注意:属于类,没有返回值类型,修饰符。
    方法名和类名相同,只伴随new关键字出现。
    在一个类中如果没有编写构造方法时,jvm会默认的提供一个无参数列表的构造方法,但一旦编写出构造方法时系统就不再提供构造方法。

属性(成员变量)

  • 定义:用来封装该类中方法所需要的数据
    • 声明方法:【访问权限修饰符】 【修饰符】 数据类型 变量名;
    • 成员属性有默认值:整型为0、浮点型0.0、char为空、boolean为false、引用数据类型为null
  • 定义:是具有特定功能的指令和数据集合
    • 声明方法:【访问权限修饰符】 【修饰符】 返回值类型 方法名(参数列表){//方法体}
    • 局部变量:为某一方法特定地提供服务的变量。注意:局部变量在使用前必须赋值,没有默认值。

方法

  • 定义:是具有特定功能的指令和数据集合
  • 声明方法:【访问权限修饰符】 【修饰符】 返回值类型 方法名(参数列表){//方法体}
  • 分类:
    • 实例方法:依靠实例中的数据产生不同的结果。必须由对象调用,用于不同的对象,会产生不同的结果,因为每个对象封装的数据不一样。
    • 静态方法:同一个类的不同对象能够通过这类方法相互影响;是一种被此类所有对象所共有方法。
      • 必须使用修饰符static来修饰方法
      • 此方法的调用:类名.方法名
      • 静态方法修饰的方法使用实例变量和实例方法
  • 局部变量:为某一方法特定地提供服务的变量。
    • 注意:局部变量在使用前必须赋值,没有默认值。
    • 局部变量不用static修饰

  • 分类:

    • 实例块:

      • 格式:{//实例块代码}
      • 特点:实例块是在创建对象之前默认去访问的代码块,每创建一个对象都会去默认执行一次,多个实例块按照声明顺序执行。
    • 静态块:

      • 格式:static {//静态块代码}
      • 特点:在类加载的时候最先被加载并且执行,但只执行一次。执行顺序在实例块之前

内部类

  • 分类:
    • 普通内部类:
      • 特点:存在于一个类中的类,里面可以有类体的所有元素,但是都不能被static修饰,能访问外围类中的所有元素。
      • 普通内部类对象的创建:外围类.内部类 内部类变量名 = new 外围类的构造方法.new 内部类的方法。
    • 静态内部类
      • 特点:
        • 静态内部类里面的东西可以被静态修饰。
        • 只能访问外围类中的静态修饰的东西
      • 静态内部类对象的创建:外围类.内部类 内部类变量名 = new 外围类.内部类的构造方法
    • 局部内部类:作用在一个方法的内部类。
      • 特点:
        • 局部内部类不能有静态修饰的东西
        • 可以外围类的所有的东西
        • 局部内部类不能访问其所在方法中非final所修饰的变量
        • 作用:只为实现方法的功能
        • 创建局部内部类的对象:在方法中创建
    • 匿名内部类
      • 后续添加

修饰符final

  • 性质:与static一样属于Java中高级特性修饰符
  • 作用范围:类、方法、变量。
  • 要求:
    • 类:该类不能是抽象类,不能被继承
    • 方法:该方法不能是抽象方法,不能被重写
    • 变量:该变量就会被定义为常量
  • 注意:final修饰的属性必须在对象存在时给值,因此必须在声明时给值或者在构造方法给值。
    • 在声明时给值,产生的对象的该变量的值全部相等并且不能被改变。
    • 在构造方法中赋值产生的结果是不同的对象可以有该变量的不同
      值并且不能改变。
  • 常用常量定义方法:
    static final 类型 变量 = 初始值

    • static final 联合修饰时必须在声明时赋值,原因如下:
      final修饰的变量只能赋值一次,static修饰的变量是共有的。
      故static final修饰的变量只能在声明时赋值

代码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值