week03
2023-04-16 20:12:10 8 举报
AI智能生成
计算机
作者其他创作
大纲/内容
接口
使用interface 关键字定义
没有构造方法 无法创建对象
只能定义公开的静态常量和公开的抽象方法
没有构造方法 无法创建对象
只能定义公开的静态常量和公开的抽象方法
公开的静态常量
public static final int a=10;
public static final int a=10;
公开的抽象方法 默认使用public abstract
public abstract void show();
public abstract void show();
实现类
MyClass(类名) implements MyInterface(接口名)
接口与抽象类的区别
相同点:
- 可以编译成字节码文件
- 不能创建对象
- 可以作为引用类型
- 需要实现里面的方法
- 具备Object中的所有定义的方法
- 可以编译成字节码文件
- 不能创建对象
- 可以作为引用类型
- 需要实现里面的方法
- 具备Object中的所有定义的方法
不同点:
- 所有的属性都是公开静态常量
- 所有的方法都是公开抽象方法
- 没有构造方法
- 没有代码块和静态代码块
- 所有的属性都是公开静态常量
- 所有的方法都是公开抽象方法
- 没有构造方法
- 没有代码块和静态代码块
接口的应用
java是单继承 当父类中方法种类无法满足子类需求的时候 ,定义在接口 扩充子类能力
接口是多实现可以为类扩充多种能力
接口是多实现可以为类扩充多种能力
接口的规范
- 任何类在实现接口的时候,必须实现接口中的所有抽象方法 否则就是个抽象类
- 实现接口的抽象方法时,访问修饰符必须是public
- 同父类一样 接口也可以声明引用 并指向实现类对象
- 实现接口的抽象方法时,访问修饰符必须是public
- 同父类一样 接口也可以声明引用 并指向实现类对象
类与接口多实现
implements 接口名称1,2,3,n
接口与接口多继承
extends 接口1,2,3,n
类与类单继承
extends 父类名称
String类
String 类 代表字符串 Java中所有的字符串文字 都是实现此类的实例
String的常用方法
charAt 通过下标获取字符
System.out.println(s.charAt(0));
indexOf 获取指定字符串下标位置(只能获取一个),如果该字符不存在返回-1
String s1="hello,java,javaString";
System.out.println(s1.indexOf("String"));
System.out.println(s1.indexOf("String"));
lastIndexOf 获取指定字符串下标位置(只能是最后一次出现) ,如果该字符不存在返回-1
String s2="hello,java,javaString";
System.out.println(s2.lastIndexOf("java"));
System.out.println(s2.lastIndexOf("java"));
length 获取字符串长度
equalsIgnoreCase 如果两个字符串的长度相同,并且其中的相应字符都相等(忽略大小写)
contains 判断是否包含指定字符串
endsWith 判断是否以指定字符串结尾
isEmpty 判断字符串是否为空串(长度判断)
substring可以截取指定长度
String s13="hello,java!!!";
s13=s13.substring(s13.indexOf("java"),s13.indexOf("java")+"java".length());
System.out.println(s13);
s13=s13.substring(s13.indexOf("java"),s13.indexOf("java")+"java".length());
System.out.println(s13);
getBytes获取所占的字节数
String s14="你好";
byte[] bytes = s14.getBytes();
for (int i = 0; i <bytes.length ; i++) {
System.out.println(bytes[i]);
}
byte[] bytes = s14.getBytes();
for (int i = 0; i <bytes.length ; i++) {
System.out.println(bytes[i]);
}
String、StringBuffer、StringBuilder区别
- 这三个类都可以用于表示字符串
- 1、String类是字符串常量类,一旦定义不能改变
- 2、StringBuffer、StringBuilder是可变的字符串,自带有缓冲区。默认缓冲区大小16个字符
- 3、StringBuffer是线程安全的,所以效率低 StringBuilder是线程不安全的,所以效率高
- 1、String类是字符串常量类,一旦定义不能改变
- 2、StringBuffer、StringBuilder是可变的字符串,自带有缓冲区。默认缓冲区大小16个字符
- 3、StringBuffer是线程安全的,所以效率低 StringBuilder是线程不安全的,所以效率高
在大量的字符串拼接的时候,使用 StringBuffer、StringBuilder。
而不考虑线程安全的时候,选择StringBuilder,否则选择StringBuffer
而不考虑线程安全的时候,选择StringBuilder,否则选择StringBuffer
三个修饰符
abstract
abstract 修饰类,此类不能new 对象
可以被子类继承 提供共性属性方法
可以被声明引用 更自然的使用多态
可以被子类继承 提供共性属性方法
可以被声明引用 更自然的使用多态
static
可以修饰 属性 方法 代码块 内部类
静态方法只能调用静态属性和静态方法
静态方法不能使用this和super
抽象方法不能使用static修饰
静态方法不可以被重写,但是被继承
静态方法不能使用abstract关键字修饰
在创建类的时候即被创建,所有对象共用这个常量或者方法
静态方法只能调用静态属性和静态方法
静态方法不能使用this和super
抽象方法不能使用static修饰
静态方法不可以被重写,但是被继承
静态方法不能使用abstract关键字修饰
在创建类的时候即被创建,所有对象共用这个常量或者方法
final
- final可修饰的内容:
- 类(最终类)
- 方法(最终方法)
- 变量(最终变量)
final修饰变量:此变量值不能被改变(常量)
- 类(最终类)
- 方法(最终方法)
- 变量(最终变量)
final修饰变量:此变量值不能被改变(常量)
常用类
内部类:在一个类中定义的类,称之为内部类,外面的类的叫做外部类
成员内部类
成员内部类中只能定义非静态属性和方法
成员内部类可以访问外部类的成员,私有的可以,静态也可以
成员内部类可以访问外部类的成员,私有的可以,静态也可以
静态内部类
- 静态内部类可以定义属性和方法 也能定义静态属性和静态方法
- 2静态内部类只能访问外部类的静态属性和方法
- 2静态内部类只能访问外部类的静态属性和方法
匿名内部类
本身就是一个对象
局部内部类
定义在方法中
- 1.只能定非静态属性方法
- 2.可以访问私有化 静态的 外部类成员
- 3.局部内部类只能再方法中创建对象
- 2.可以访问私有化 静态的 外部类成员
- 3.局部内部类只能再方法中创建对象
Object类
所有的类的父类 超类 基类 位于继承树的最顶端
任何一个没有显示定义extend父类 的类,都是直接继承Object 间接继承
任何一个类都享有Object提供的方法
Object可以代表任何一个类(多态) 可以作为方法的参数 和方法返回值
任何一个没有显示定义extend父类 的类,都是直接继承Object 间接继承
任何一个类都享有Object提供的方法
Object可以代表任何一个类(多态) 可以作为方法的参数 和方法返回值
getClass
此方法返回对象的真实类型
hashCode
返回对象的十进制哈希码值
toString
返回对象得到字符串表达形式
equals
- 用于比较
- 只能用于引用类型比较
- 只能用于引用类型比较
finalize
当垃圾回收期回收垃圾对象的时候自动调用
包装类
基本数据类型不具有方法和属性。而引用数据类型可以拥有属性和方法,使用更加的灵活
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
==方法
1、 可以判断基本类型,也可以判断引用类型
2、 基本类型:判断值是否相等
3、 引用类型:判断地址是否相等,即判定是不是同一个对象
2、 基本类型:判断值是否相等
3、 引用类型:判断地址是否相等,即判定是不是同一个对象
equals方法
1、 只能判断引用类型
2、 默认判断类型是否相等,子类中往往重写该方法,用于判断内容是否相等
2、 默认判断类型是否相等,子类中往往重写该方法,用于判断内容是否相等
常用类的方法
Date类
表示当前系统时间
Date date = new Date();
System.out.println(date);
Date date = new Date();
System.out.println(date);
日期格式化类
SimpleDateFormat
创建日期格式化对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
System.out.println(date);
System.out.println(sdf.format(date));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
System.out.println(date);
System.out.println(sdf.format(date));
Calendar类
类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供方法
- get(字段) 获取指定字段值
- set(字段) 设置指定字段的指定值
- add(字段) 在指定字段添加或减去指定的值
- set(字段) 设置指定字段的指定值
- add(字段) 在指定字段添加或减去指定的值
System类
常用方法:
- System.currentTimeMillis()
- 返回当前系统时间的毫秒数 从1970年开始计算
- System.exit(0)
- 终止Java虚拟机的运行 参数表示终止的状态 0表示正常退出
- System.currentTimeMillis()
- 返回当前系统时间的毫秒数 从1970年开始计算
- System.exit(0)
- 终止Java虚拟机的运行 参数表示终止的状态 0表示正常退出
Math类
数学计算工具类
BigDecimal类
子主题
BigDecimal类
在计算中的二进制是一个无限循环的
double保存时近似值,计算的结果不精确
double保存时近似值,计算的结果不精确
- 位置:java.math包中。
- 作用:精确计算浮点数。
- 创建方式:BigDecimal bd=new BigDecimal(“1.0”)
- 作用:精确计算浮点数。
- 创建方式:BigDecimal bd=new BigDecimal(“1.0”)
0 条评论
下一页