培训第2天------JDBC相关知识(2)

在学习JDBC的过程中,发现了许多以前存在的一些问题。现在我们将这些问题汇总:

1.权限访问修饰符:在一个类的内部,其成员(包括成员变量和成员函数)能否被其他的类所访问,取决于该成员的修饰词,

Java的类成员访问权限修饰符分为4种,权限从大到小依次为public、protected、deault(默认的包权限)、private。

权限控制如下图所示:

类成员访问权限修饰符
权限修饰符 当前类 同一个包的类 继承类 其他类
private

可以


不可以 不可以 不可以
default 可以 可以 不可以 不可以
protected 可以 可以 可以 不可以
public 可以 可以 可以 可以

其中default为默认权限,也成为包权限,在同一个包中的类对其修饰的成员有访问权限。而protected称为继承访问权,其

子类对其修饰的成员有访问权限,并且它也拥有包权限的特征。

2.在进行JDBC连接时,其中指定的url如果其后面没有指定字符编码,那么在操作数据库时就可能出现字符乱码问题,例如:

String url="jdbc:mysql://localhost:3306/db1";     //指定数据库的连接路径

扫描二维码关注公众号,回复: 1961783 查看本文章

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对象。下面介绍一个Random类中的一个方法:

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之间的整型随机数。



猜你喜欢

转载自blog.csdn.net/qq_41160264/article/details/80945419
今日推荐