一、类和对象
类属于对象,类是对象的具体表达,对象是类的具体实例,类描述一类对象的行为和状态
例如:我们以一种动物作为我们的对象,去描述他,这里我们以狗举例
1、狗类
狗的种类有哈士奇,京巴,狮子狗
狗的属性有:名字、品种、颜色
方法---狗的特性有:叫、摇尾巴和跑
构造方法的特性:方法名用类名来作为方法名 ,没有返回值,也不需要void
构造方法的用途:生成对象
2、调用对象或方法
Dog dog = new Dog();
System.out.println(dog.getColor());
dog.barking();
如何使用其他类
使用其他类,则需要导入其他类
import org.apache.commons.dbutils.QueryRunner;
不用导入的类java.lang下的类会自动导入,不需要import语句
设计类时尽量少公开属性和方法
子类继承父类
public class HsqDog extends Dog {
}
3、静态类的属性和调用方法
JVM只有一份,如static String NAME = "狗"
调用的时候用类名点.静态成员去调用
final属性不能修改:只能在定义时赋值
4、子类调用父类的构造方法
在子类构造方法里第一个语句:super();
父类确定有一个方法,各个子类不完全一样,定义为抽象方法,父类不实现,子类实现
5、抽象类的特征及使用
使用abstract修饰方法和类
抽象类不能实例化
一般情况下很少写抽象类,可以将多数子类相同的逻辑,在父类里实现;少数子类有不同的逻辑,可以重写父类的方法
6、接口
所有方法都是抽象,只声明不实现
例如public class Dog implements IDog
7、类,抽象类,接口的区别
接口:方法一个都不能实现
抽象类:可以实现一些方法
普通类:必须实现所有的方法
8、内部类
内部类非静态内部类可以访问外部类的属性和方法;静态内部类只能访问外部类的静态属性和方法
静态的内部类可以有静态属性或方法,通过类名逐层调用即可
生成一个类文件:外部类名$内部类名.class
例如:Dog$T.class
例如
public class Dog {
public class T {
public void test() {
System.out.println("Hello, world!");
}
}
public static void main(String[] args) {
Dog dog = new Dog();
T t = dog.new T();
t.test();
}
}
9、String类
修改时会产生新的对象,占用更多内存
StringBuffer和StringBuilder
非常相似,方法几乎完全一样,用于字符串的修改
区别:StringBuffer是线程安全的,效率低;StringBuilder是线程不安全的,效率高
10、数据类型相互转化
byte(Byte):1个字节,2^8=256,-128(2^7) ~ 0 ~ 127(2^7-1)
int(Integer): 4个字节,2^32=2^2x2^30=4x2^30=4G,-21亿(-2^31) ~ 21亿(2^31-1)
1K=2^10, 1M=2^20, 1G=2^30
字符串和数字相互转换
带格式的数字字符串转换为数字,parse
例如:
NumberFormat numberFormat = new DecimalFormat("#,###");
try {
Number number = numberFormat.parse("1,234,567");
System.out.println(number);
} catch (ParseException e) {
e.printStackTrace();
}
数字转换为带格式的字符串,format方法
String n = numberFormat.format(1234);
字符串与日期的转换
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
try {
Date date = dateFormat.parse("2018-08-01T23:00:01.234");
// 数据库字段类型是Date,使用Date的方法(比较大小,修改)
String d = dateFormat.format(new Date());
System.out.println(d);
} catch (ParseException e) {
e.printStackTrace();
}
11、异常捕捉
异常都是Throwable的子类
检查异常:需要处理,try catch或再次throw出去
运行时异常:可以不catch
错误:处理不了
方法声明包括:throws ParseException,调用时就需要处理这个异常
12、数据导入导出
数据导入:使用POI导入Excel数据到数据库https://blog.csdn.net/qq_33350186/article/details/78833889
数据导出:使用POI导出数据库的数据到excel文件,https://www.cnblogs.com/gudongcheng/p/8268909.html