面向对象三大特性之后的知识点内容(自整理(下))

12 篇文章 0 订阅
5 篇文章 0 订阅
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         ## 接口

接口的使用
一个类实现了一个接口需要重写接口中抽象方法。
一个类可以继承一个父类也可以同时实现多个接口。

接口和抽象类的区别

  1. 接口是一个特殊的抽象类,它比抽象类更抽象。
  2. 抽象类子类是父类的一部分,接口中子类拥有父类接口的功能。
  3. 抽象类中是单继承关系,接口可以实现多个继承。

equal
由子类重写,用于比较-不同-对象的内容是否相等。

to String
在Object 中 一般打印对象的地址信息,同样需要Object重写地址 to String 方法,达到打印对象内容的目的。

一个字符串中比较内容是否相等 , 可以使用-- equal()-- 方法。
Split
自动分割。

常用API

JDK和JRE区别
JRE
是Java运行时环境,包含Java虚拟机,Java基础类库。
提供给想运行Java程序用户使用的。
JDK
是Java开发工具包,是程序员使用Java语言编写Java程序所需的开发工具包。
Java.long
使用Scanner类的时候,要导入一个包 (Java.util.Scanner)
但使用Java.long包中的内容的时候不需要导包。
默认ApI
API:Application(应用)Programming(程序)Interface(接口)
Equals
格式: Public boolean equals(Object obj){return(this == obj);}

== 用于比较两个对象的地址值
equals 由子类重写 => 用于比较不同对象的内容是否相等

GetClass
返回此Object的运行类(的类型)(包名+类名)

ToString
如果只是打印一个对象的变量默认调用该对象的toString()方法。
如果该类没用重写toString()方法,使用Object重写之后调用自己的。

StringBuffer类

String 和 StringBuffer区别是什么

  1. String 不可变字符串 , StringBuffer 可变字符串并带有缓冲区。
  2. 在进行字符串拼接测试中速度快,带有synchronized 更安全。

正则表达式

含义: 正则表达式(Regular Expression)在代码中常简写为 Regex 、Regexp 或 RE
正则表达式是对字符串(包括普通字符a到z)和特殊字符(元字符)操作的一种逻辑公式,用事先定义好的一些特定字符及这些特定字符的组合组成一个“规则字符串”。这个“规则字符串”用来表达对字符串的一种过滤逻辑。
**正则表达式是一种文本模式,模式面熟在搜所文本时要匹配的一个或多个字符串
**

常用ApI

单个字符 A, I
特殊符号: \d \w \s \d
[ ] 代表一个位置,满足任意一个就可以 [ ^ ]取反 [ a-z ]
{ } 限定 紧挨着下一位 {n} 只能出现几次。=pop{n,m} n最少 m最多
QQ号案例演示
[ 1-9 ][ \d][ 4,10 ] (\d 表示0-9)
日期类型
Date
calendar 日历
(匿名内部类中 { } 需要加分号 放在Return之前)

ArrayList 集合和数组

集合继承体系 list的父级是Map
1.继承树
2.常用方法

**List ** --数组本身不能改变,集合长度可以更改,底层为连续数组
数组长度 a.length
集合长度 a.size
清除操作 a.clear
数据扩展时需要增加新数组

迭代器
获取当前对象,指针指向下一个对象(has next 是否还有下一个对象)

基本封装类

数据类型
byte – shor t-- int – long – char – float – boolean – double
Byte – Short – Integer-- Long – Character – Float – Boolean – Double

增强For循环
格式: for(属性类型 对象名: 类){}

泛型(generic)
定义: 在泛型集合中 只能存放该泛型类型内容(泛型中T==Object)

泛型方法
public < T > void printType ( T t ){
system.out.println(t.getclass());
}
泛型接口
public interface Generator< T >{
public T test;
}

实现类

ArrayList LinkedList Vector 联系和区别

联系 都实现 List 接口 满足(有顺序/可重复/ 有下标)

区别

ArrayList 底层实现是数组 查询快 增删慢
LinkedList 底层实现是链表 查询慢 增删快
Vector 版本比较早 线程安全 效率低

泛型通配符
Collection<?> col = get Array();
表示问号为不清楚的集合泛型

Collection<? extends person>
表示该集合中存放的内容都是person类的子类

Collection< Student extends? >
表示该集合中存放的内容为父类

栈 先进后出

堆 先进先出

HashSet集合

hashCode 表示对象在内存中逻辑地址
toString 是哈希码值的十六进制
hashCode 一种将任意长度的消息压缩到某一固定长度的消息摘要的函数

TreeSet
定义遍历和特点
二叉树 可实现自动排序
自定义对象 必须要实现comparable

Collections 工具类

collection 是 List Set 父接口,集合类的顶级接口。
collection 是 工具类,可以对一些属性进行调节(随机排序)
collection Suffter(随机)
collection Sort(字母排序)

List.add(); 中只能放一个元素

Map 是一个以键值对存储的接口

一个map中键值成对出现并一一对应
键不能重复 值可以重复(若键重复后者会覆盖前者)

特点:Key – Value
添加 put 移除 remove
**遍历 – 获取所有的键KeySet();

1.Set(String)set = Map.keyset();

2.Set <Entry<String,String>> entryset = map.entrySet();**

根据键找值 – Map.getKey();

异常

ArrayIndexOutOfBoundsException子类异常
IndexOutOfBoundsException父类异常

通常使用 try{}catch(){}内部解决异常,也可抛出异常,不同情况不同方案

Finally(最终) 无论有没有异常都会走finally块 ,Finally放在最后一个catch之后并且不能和return同时执行。

手动抛出异常 throw new ArrayIndexOutOfBounds Exception();

方法重写规范:
1.发上在两个有继承关系的类之间。
2.子类覆盖了父类中的方法(返回值 方法名参数表 都一致)
3.子类方法的权限修饰符不能够小于父类
4.子类方法抛出的异常不能大于父类

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值