Java

方法

方法是程序中最小的执行单元

定义

把一些代码打包在一起

方法调用

方法定义后并不是直接运行的,需要手动调用才可以执行,该工程称为方法调用。

  1. 方法名不一样或参数不一样

权限修饰符

  1. private: 只能同类访问
  2. 空着不写:同一个类,同包其他类
  3. protected:同一个类,同包其他类,不同包的子类,
  4. public:同一个类,同包其他类,不同包的子类,不同包的无关类都可以;

封装

对象代表什么,就得封装对应的数据,并提供数据对应的行为

this

this的本质:代表方法调用者的地址值

集合

泛型

包装类

无参构造对象,参数未初始化,会有默认值,调用也不会报错

static

静态变量,静态方法

  1. 静态方法中,只能访问静态。
  2. 非静态可以访问所有。
  3. 静态中没有this关键字

(14条消息) JAVA静态变量_GitHub小白的博客-CSDN博客

Instance Variables,Class Variables,local Variables

(14条消息) 【Java学习笔记】Instance Variables,Class Variables,local Variables的区别_missyr的博客-CSDN博客

静态变量也称为类变量,可以直接通过类名调用。也可以通过对象名调用。这个变量属于类。

成员变量也称为实例变量,只能通过对象名调用。这个变量属于对象。

重构(overload)

  1. 必须改变参数列表(类型或者数量)
  2. 无法以返回值类型作为重载函数的区分标准

重写(override)

private、static、final 方法 均 不能 被 重写

继承

extends

自己设计,用别人的

什么时候用

final方法不能继承

java只支持单继承,不支持多继承,但支持多层继承。

构造方法 非私有 不能 private不能
成员变量 非私有 能 private 能
成员方法 虚方法表 能 否则不能

方法的重写@override

子类的无参构造

多态

调用成员变量的特点:编译看左边,运行也看左边

调用成员方法的特点:编译看左边,运行看右边

弊端:不能使用子类的特有功能

抽象类

抽象方法

抽象类

接口

定义抽象方法

有方法题的方法

可以定义私有方法

应用:

接口的多态

1.接口代表规则,是行为的抽象,想要让哪个类拥有一个行为,就让这个类实现对应的接口就可以了

2.当一个方法的参数是接口时,可以传递接口所有实现类的对象,这种方式称之为接口多态

适配器

内部类

获取成员内部类对象

方法一:在外部类中编写方法,对外提供内部类的对象

方法二:直接创建格式:外部类名.内部类目 对象名=外部类对象.内部类对象;

无抽象方法的接口是个标记接口

静态内部类

局部内部类

匿名内部类

隐藏了名字的内部类,可以写在成员位置,也可以写在局部位置。
格式:
new 类名或者接口名(){
重写方法;
};
格式细节
包含了继承或者实现,方法重写,创建对象
整体技术一个类的子类对象或者接口的实现类对象
使用场景
当方法的参数是接口或者类时,
以接口为例,可以传递这个接口的实现类对象,
如果实现类只要使用一次,就可以用匿名内部类简化代码

克隆clone

正则表达式

集合体系结构

Collection单列集合的祖宗接口

List: 添加的元素是有序、可重复、有索引

Set: 无序、不重复、无索引

遍历方式:

迭代器,it.hashNext(), it.next();

image-20230417153809254

加强for,

底层是个lterator迭代器,所有单列集合和数组才能用

lambda表达式

Map集合

键值对

异常处理

1.定义异常类

2.写继承关系

3.空参构造

4.带参构造

try没遇到问题

会把try里的代码全部执行完毕,不会执行catch里面的代码

遇到多个问题

会写多个catch与之对应,父类异常需要写在下面

try中的问题没捕获

相当于try catch 白写了 当前异常会交给虚拟机处理

try遇到问题了,那么try下面的其他代码还会执行吗

不会执行了,直接跳转到catch,如果catch没有与之匹配的,会交给虚拟机