一、访问修饰
二、集合类
(一)List的几个子类
1.ArrayList 使用数组控制对象,可以自动扩展数组长度自动增长50%
方法有:size(),add(),get(i),remove(i)
2.LinkedList
方法有:add(),addFirst()在最前加添,addLast()在最后添加,删除时也有这两个方法
3.Vector 使用数组控制对象,自动增长成原来的一倍(是同步的,线程安全,执行慢)
4.Stack
(二)Map的几个子类
遍历要通过迭代器Iterator
Iterator it = hashMap. keySet(). iterator()
while(it.hasNext())
1.HashMap(允许将(null,null)存入)
方法有:push(k,v),containKey(k)判断指定的key在不在集合中,get(k)
2.Hashtable(是同步的,线程安全,执行慢)
三、泛型
定义一个类时使用泛型
Class Gen{…}
四、反射机制
可以通过对象的getClass方法获取到对象的所有信息
五、异常处理
try{}catch{}finally{}
***finally***不管有没有异常都会被执行,一般用于关闭文件和数据库连接
六、swing几种布局方式
- BorderLayout 边界布局(默认值)
- jFrame.setLayout(new FlowLayout(FlowLayout.LEFT));//设置成流式布局,并将对齐方式设置成左对齐(默认是居中对齐)
- jFrame.setLayout(new GridLayout(3,3,10,10));//网格布局,3,3表示设置行列,10,10表示边距
七、表单
- 设置按钮组:ButtonGroup
- 下拉列表:JComboBox
- 拉列:JList(需要jList.setVisibleRowCount())在加入到
- 拆分窗格:JSplitPane
- 选项卡窗格:JTabbedPane
- 菜单组件:JMenuBar菜单条组件,JMenu菜单组件,JMenuItem菜单项组件
- 工具条组件:JToolBar
八、线程
- 继承Thread类,并重写run方法,通过start函数启动
- 实现Runnable接口,并重写run函数,启动时(new Thread(Dog)).start()
- 通过Thread.currentThread.getName()获取当前线程名字
- 通过synchronized(object){要同步的代码块}保证线程安全
九、数据库连接
(一)通过ODBC方式连接(jdk从1.8开始,删除了jdbc-odbc桥)
- 【控制面板\所有控制面板项\管理工具\ODBC 数据源】添加sql server数据源
Connection ct = null;
Statement sm = null;
try {
//1.加载驱动(把需要的驱动程序加载到内存)
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//2.得到连接,指定数据库和用户(如果配置数据源选择Windows nt验证则不需要指定用户名密码)
ct = DriverManager.getConnection("jdbc:odbc:test", "sa", "sa");
//3.创建Statement或者PreparedStatement对象(用来发送sql语句)
sm = ct.createStatement();
//4.执行sql语句
sm.executeUpdate("insert into member(id,name,age,sex,[desc]) values(8,'java程序添加',30,'1','我的描述')");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(sm!=null) sm.close();
if(ct!=null) ct.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
十、加载资源
URL url = getClass().getClassLoader().getResource("icon/icon.png");//放在src下
String path = url.toExternalForm();