在学习JDBC的过程中,发现了许多以前存在的一些问题。现在我们将这些问题汇总:
1.权限访问修饰符:在一个类的内部,其成员(包括成员变量和成员函数)能否被其他
的类所访问,取决于该成员的修饰词,Java的类成员访问权限修饰符分为4种,权限从
大到小依次为public、protected、deault(默认的包权限)、private。权限控制如下图所
示:
权限修饰符 | 当前类 | 同一个包的类 | 继承类 | 其他类 |
---|---|---|---|---|
private | 可以
| 不可以 | 不可以 | 不可以 |
default | 可以 | 可以 | 不可以 | 不可以 |
protected | 可以 | 可以 | 可以 | 不可以 |
public | 可以 | 可以 | 可以 | 可以 |
其中default为默认权限,也成为包权限,在同一个包中的类对其修饰的成员有访问权限。
而protected称为继承访问权,其子类对其修饰的成员有访问权限,并且它也拥有包权限
的特征。
2.在进行JDBC连接时,其中指定的url如果其后面没有指定字符编码,那么在操作数据库
时就可能出现字符乱码问题,例如:
String url="jdbc:mysql://localhost:3306/db1"; //指定数据库的连接路径
String CharacterEncoding=" ? useUnicode=true & characterEncoding="GBK""; //其中的
”GBK“是当前项目的编码。如果把第2行代码拼接到第一行中,就可以避免乱码问题。
3.如果一个成员属性可以直接被访问,那么这个属性就可以通过对象.属性=" "的方式被直
接赋值。例如:
public class Test{
User user=new User();
user.username="zhangsan";
user.password="1234"
System.out.println(user.username+"__"+user.password);
}
class User{
public String username;
String password;
}
4.异常处理中throws和throw的比较:
(1).throws出现在函数方法名的后面,而throw出现在方法体中。
(2).throws指的是该函数可能会抛出异常,而throw则会一定抛出一个明确的异常。
(3).两者都是消极处理异常的方式,但并不是说这种方法不好,只是可能抛出或抛
出异常,但是不会由当前的函数来处理异常,真正处理而是由上层的函数调用来处理。
5.Map集合的基本特点。
(1).Map和Collection在集合框架中是并列存在的。
(2).Map存储元素使用的是put()方法,Collection使用的是add()方法。
(3).Map存放的数据是键值对的形式,键和值都可以相同,当键相同的时候,后者
会将前者的值覆盖。
6.实现类一定要重写接口中的所有方法吗?
不一定。接口中的所有方法都是抽象方法(abstract),如果实现类是非抽象类,则
必须重写接口中的所有方法,如果实现类是一个抽象类,则不需要,因为抽象类中
允许抽象方法的存在。类可以实现无数个接口,但只能继承一个类。从抽象类派生的
类仍可实现接口,从而得出接口是用来解决多重继承问题的。抽象类中的成员变量可
以用不同的修饰符来修饰,但接口中的成员变量默认是static finally来修饰的,也就是
当作一个静态常量。抽象类中可以存在非抽象的方法,但是接口不能,并且方法只能
有public来修饰且只是一个声明而没有具体实现的方法。抽象类不能被实例化。
7.随机数生成器random的使用。
Random类存在于java.util包中,Random类有两个构造方法,一个是public Random();
该构造方法的种子数和当前系统的时间有关。另一个是public Random(long seed);该
构造方法可以自定义一个种子数。注意:种子数只是随机算法的起源数字,和生成的随机
数字区间没有关系,但是相同种子数的Random对象,相同次数产生的随机数是完全形同
的,所以项目中无论要生成多少个随机数,都使用一个Random对象。下面介绍一个Rand
om类中的一个方法:
public int nextInt(int i);//该方法是生成一个随机整型数字,数字区间为【0,i)。
Random ran=new Random();
int i=ran.nextInt(5);//通过创建random类的对象和调用方法来实现。
也可以不用new 出Random对象,而是用Math类中的Random()方法来获取。代码如下:
int i=Math.random().nextInt(20); //产生0到20之间的整型随机数。