java基础学习02

多态

  • 使用前提:
    • (1)必须有继承或者实现关系!
    • (2)必须存在父类类的变量引用子类类型的对象!
    • (3)存在方法重写!
  • 格式
父类类型 变量名 = new 子类/实现类构造器;
变量名.方法名();
  • 向上转型、向下转型
    instanceof 关键字可以校验两个引用对象
变量名 instanceof 数据类型 
如果变量属于该数据类型或者其子类类型,返回true。
如果变量不属于该数据类型或者其子类类型,返回false
  • 编译看左边,运行看右边

内部类

一个类定义在另外一个类里面

  • 分类
1. **静态内部类**,类定义在了成员位置 (类中方法外称为成员位置,有static修饰的内部类)
2. **实例内部类**,类定义在了成员位置 (类中方法外称为成员位置,无static修饰的内部类)
3. **局部内部类**,类定义在方法内
4. **匿名内部类**。一般定义在方法中,或者可执行代码中
  • 格式
外部类.内部类

静态内部类创建

外部类.内部类  变量 = new  外部类.内部类构造器;

实例内部类创建对象格式

外部类.内部类 变量 = new 外部类构造器.new 内部类构造器;

内部类访问外部类对象的格式是:外部类名.this

匿名内部类
前提:匿名内部类必须继承一个父类或者实现一个父接口
格式:

new 父类名或者接口名(){
    // 方法重写
    @Override 
    public void method() {
        // 执行语句
    }
};

权限修饰符

  • private 本类
  • 缺省 本类 本包其他类
  • protected 本类 本包其他类 其他包下的子类中
  • public 任何地方

常用API

Object类

  • 所有类的父类
  • 重写toString方法
  • 重写equals方法:对象内容比较
  • static boolean isNull(Object obj) 判断对象是否为null,如果为null返回true。Objects类下的

Date类

 - `public long getTime()` 把日期对象转换成对应的时间毫秒值。
 - `public void setTime(long time)` 把方法参数给定的毫秒值设置给日期对象

DateFormat类

  • 日期格式化类,把时间格式化为目标格式
  • 可以把字符串时间解析成日期对象
// 将日期格式化为字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");**
String rs = sdf.format(“日期对象”)**
String rs = sdf.format("时间毫秒值")**

//将字符串转换成日期
- [ ] **SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");**
- [ ] **String str = "2019-11-11 11:11:11";**
- [ ] **Data d = sdf.parse(str );**

Calendar类

  • 日历类,代表了此刻日期对象对应的日历对象
  • java.util.Calendar类表示一个“日历类”,可以进行日期运算。它是一个抽象类,不能创建对象,可以使用它的子类:java.util.GregorianCalendar类。
  • 常用方法
    在这里插入图片描述
    tips:Calendar的月份值是0-11

Math类

基本数字运算
在这里插入图片描述

System类

  • 代表了当前JVM虚拟机对应的操作系统对象。
  • 可以拿系统时间。
long time = System.currentTimeMillis();
  • 可以让程序退出JVM虚拟机,让程序立即死亡!!
System.exit(0); //非零表示异常终止
  • 可以做数组拷贝。
 arraycopy(Object src,  int  srcPos,
 Object dest, int destPos,
 int length)
 参数一:原数组。
 参数二:从原数组哪个位置开始复制
 参数三:目标数组
 参数四:复制到目标数组的哪个位置开始。
 参数五:复制多少个!

BigDecimal类

浮点数做运算会遇到精度问题,引入此类解决

相关内容具体描述
java.math 使用时需要导包
类声明public class BigDecimal extends Number implements Comparable
描述BigDecimal类提供了算术,缩放操作,舍入,比较,散列和格式转换的操作。提供了更加精准的数据计算方式
  • 常用的方法
    public BigDecimal add(BigDecimal value) 加法运算
    public BigDecimal subtract(BigDecimal value) 减法运算
    public BigDecimal multiply(BigDecimal value) 乘法运算
    public BigDecimal divide(BigDecimal value) 除发运算

StringBuilder类

  • String类不适合做字符串的拼接,增删等运算。不可变字符串,增删性能较差!
  • StringBuillder非常适合做字符串的增删改查操作
  • 拼接字符串
 StringBuilder sb=new StringBuilder("aa");
 sb.append("9999");

包装类

基本类型的封装对象

* boolean Boolean
* byte Byte
* short Short
* char Character
* int Integer 
* float Float 
* double Double
* long Long

将字符类型的数字串转换为对应的基本类型

Xxxx.parseXxxx("字符串类型的数字")
Xxxx.valueOf("字符串类型的数字"):推荐使用的

将基本类型转换为字符串的三种方法

// 1.把基本数据类型的值转换成字符串:toString()
Integer num = 23 ;
String numStr1 = num.toString();
System.out.println(numStr1+1); // 231

// 2.把基本数据类型的值转换成字符串:
Integer num1 = 23 ;
String num1Str1 = Integer.toString(num1);
System.out.println(num1Str1+1); // 231

// 3.把基本数据类型的值转换成字符串:
Integer num2 = 23 ;
String num2Str1 = num2 + "" ; //常见做法!

正则表达式

字符语法:

  1. [abc]:代表a或者b,或者c字符中的一个。
  2. [^abc]:代表除a,b,c以外的任何字符。
  3. [a-z]:代表a-z的所有小写字符中的一个。
  4. [A-Z]:代表A-Z的所有大写字符中的一个。
  5. [0-9]:代表0-9之间的某一个数字字符。
  6. [a-zA-Z0-9]:代表a-z或者A-Z或者0-9之间的任意一个字符。
  7. [a-dm-p]:a 到 d 或 m 到 p之间的任意一个字符。

关系符:
8. &&:并且
9. | :或者

预定字符:

  1. “.” : 匹配任何字符。
  2. “\d”:任何数字[0-9]的简写;
  3. “\D”:任何非数字[^0-9]的简写;
  4. “\s”: 空白字符:[ \t\n\x0B\f\r] 的简写
  5. “\S”: 非空白字符:[^\s] 的简写
  6. “\w”:单词字符:[a-zA-Z_0-9]的简写
  7. “\W”:非单词字符:[^\w]

数量:
16. X? : 0次或1次
17. X* : 0次到多次
18. X+ : 1次或多次
19. X{n} : 恰好n次
20. X{n,} : 至少n次
21. X{n,m}: n到m次(n和m都是包含的)

泛型

上下限
? 可以在使用泛型的时候,代表接收一切类型

? extends Car : ?必须是Car的子类或者本身 。  上限
? super Car : ?必须是Car的父类或者本身 。  下限
  • 泛型类定义
修饰符 class 类名<泛型对象>{}
  • 泛型方法定义
修饰符 <代表泛型的变量> 返回值类型 方法名(形参){}
  • 泛型接口:
修饰符 interface 接口名<代表泛型的变量>{}

泛型类型不确定,可以通过通配符<?>

Collection集合:List , Map , Set

在这里插入图片描述

常见的功能

Collection集合作为集合的根类,它的功能是一切集合都可以直接使用的。
 - public boolean add(E e):  把给定的对象添加到当前集合中 。
 - public void clear() :清空集合中所有的元素。
 - public boolean remove(E e): 把给定的对象在当前集合中删除。
 - public boolean contains(Object obj): 判断当前集合中是否包含给定的对象。
 - public boolean isEmpty(): 判断当前集合是否为空。
 - public int size(): 返回集合中元素的个数。
 - public Object[] toArray(): 把集合中的元素,存储到数组中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值