java基础(2)

一、类和对象

类属于对象,类是对象的具体表达,对象是类的具体实例,类描述一类对象的行为和状态

例如:我们以一种动物作为我们的对象,去描述他,这里我们以狗举例

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

相关推荐
一 乐26 分钟前
英语词汇小程序小程序|英语词汇小程序系统|基于java的四六级词汇小程序设计与实现(源码+数据库+文档)
java·数据库·小程序·源码·notepad++·英语词汇
Tech_gis29 分钟前
C++ 观察者模式
开发语言·c++·观察者模式
卑微求AC30 分钟前
继电器原理及应用
c语言·开发语言·51单片机·嵌入式
曳渔36 分钟前
Java-数据结构-反射、枚举 |ू・ω・` )
java·开发语言·数据结构·算法
laocooon52385788637 分钟前
java 模拟多人聊天室,服务器与客户机
java·开发语言
风槐啊38 分钟前
六、Java 基础语法(下)
android·java·开发语言
苹果醋343 分钟前
毕业设计_基于SpringBoot+vue的社区博客系统【源码+SQL+教程+可运行】41002
java·毕业设计·博客
网安老伯1 小时前
【2024版】最新kali linux入门及常用简单工具介绍(非常详细)零基础入门到精通,收藏这一篇就够了_kalilinux
linux·运维·服务器·开发语言·web安全·网络安全·xss
冬天vs不冷1 小时前
SpringBoot基础(四):bean的多种加载方式
java·spring boot·spring
说书客啊1 小时前
计算机毕业设计 | SpringBoot+vue学生成绩管理系统教务管理系统
java·spring boot·node.js·vue·毕业设计·课程设计·教务管理系统