培训第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";     //指定数据库的连接路径

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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值