面向对象

概述

  • 对象:行为、状态、标识
  • 类之间的关系:依赖(uses-a)、聚合(has-a)、继承(is-a)

  • java中,任何对象都是对存储在另一个地方的对象的引用,包括new的返回值
  • java对象变量 ≈ C++指针 ,但java有gc
  • java所有对象都是在堆中构造的,构造器总是伴随new使用
  • java内联方法由虚拟机决定
  • 如果get方法需要返回一个可变数据域,应使用clone进行克隆
  • 方法可以访问所属类的所有对象的私有数据

final

  • 在构造器执行后,final域的值被设定,且不可再更改(即没有set方法)
  • final适用于基本/不可变类型域 eg.String
  • 对于可变类,仅意味着地址指向不变,但对应内容可变(可变类)。可以调用可变类对象的set方法改变值。
  • 更多

static

  • 每个类中只有一个这种域,类的所有对象会共享同一静态域
  • 静态方法不能向对象实施操作,即没有隐式参数,只能访问静态域
  • 工厂方法
  • main函数

函数参数

  • Java采用按值调用,函数得到的是参数值的拷贝
  • 函数参数分为基本类型与对象引用
    • 函数不能修改基本类型的参数
    • 函数可以改变对象参数的状态(属性)
    • 函数不能让对象参数引用新的对象

对象构造

  • 方法签名:方法名+参数类型
  • 重载、默认域初始化、无参构造、显示域初始化、初始化块

类设计技巧

  • 保证数据私有
  • 保证数据初始化
  • 不在类中使用过多的基本类型(封装)
  • 不是所有域都需要get/set
  • 将职责过多的类分解
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值