面向对象

 

三大特性

  • 封装

  • 继承

  • 多态

对象

抽象:抽 像(的)

对象:抽象的具体实例

创建对象(实例化)

使用new关键字

例如:student对象就是一个Student类的具体实例

Java都是值传递,非引用传递

本质:以类的方法组织代码,以对象的组织(封装)数据

使用new创建时

  • 分配内存空间

  • 本质是对类中构造器的调用

构造器

也称构造方法,用来初始化值

一个类即使什么也不写,也存在一个构造方法

生成构造器快捷键 alt+insert

写有参构造时,要写this.name = name;

作用:

  • 创建对象

  • 初始化成员变量

特点:

  • 和类名字相同

  • 没有返回类型,不能写void

  • 有参构造和无参构造可同时存在(方法重载)

  • 需要改写参数时,显式地改写默认的构造器
  • 存在有参构造时,无参构造必须写出来!

封装(属性私有,get/set)

属性私有:private关键字

封装作用

  • 提高程序安全性

  • 隐藏代码实现细节

  • 统一接口

  • 提高系统维护性

get/set

  • get()方法和set()方法的作用是为私有属性设置读写属性。
  • get/set方法是public属性
  • 只设置get()方法,那么表示只读属性;只设置set方法,那么表示只写属性;设置了get()方法和set()方法,那么表示读写属性。

继承

关键字extends(扩展),子类是父类的扩展

快捷键 ctrl+h 查看继承树

  • 子类继承父类的所有方法

  • private的无法继承

Object类

Java中所有类,默认继承Object类

Java中只有单继承,没有多继承(一个儿子只有一个爸爸,一个爸爸可以有多个儿子),但可以间接继承多个

this/super

在一个构造函数中调用另一个构造函数时,用this关键字

this():调用本类的构造方法

super():调用父类构造方法

  • super和this不能同时调用构造方法

  • 调用时必须写在构造方法的第一行

方法重写

方法名一样,方法体不同

要有继承关系,子类重写父类方法

子类一旦重写了父类的方法,执行子类的方法

不能被重写的方法:static,final,private

  • 方法名必须相同

  • 参数列表必须相同

  • 修饰符范围可以扩大 public>private

  • 抛出的异常:范围,可以被缩小,但不能扩大

多态

同一方法根据对象的不同,行为方式也不同

  • 是方法的多态,属性没有

  • Father s1 = new Son();

instanceof关键字

判断两个类(对象)是否存在继承关系

权限修饰符

public:可以继承

protected:

default:啥也不写

private:一般来说,属性设为私有的

 
posted @ 2023-06-13 16:53  Hmzzz2  阅读(5)  评论(0编辑  收藏  举报