目录
1.面向对象的3大特征:
封装: 把对象的属性私有化,只能被自己使用,对外使用需要提供公共的getter setter方法
继承: 子类继承于父类,子类具有父类的所有属性和方法,并具有自己独有的属性和方法(关键字 extends)
多态: 事务的多种形态(包括 继承 重写 向上转型)
package com.lixian;
import java.util.Scanner;
import javax.jws.soap.SOAPBinding.Style;
/**
* 数组:多个相同数据类型的集合 length 长度(元素的个数) index 下角标(从0开始 到length-1) 语法:
* 静态赋值(创建数组的同时进行赋值):数据类型[] arr = new 数据类型[]{值1,值2};
* 动态赋值(先声明数组的长度在逐个赋值):数据类型[] arr = new 数据类型[100]; arr[0] = 值
*/
public class AD {
public static void main(String[] args) {
String[] name = new String[] {"红红","兰兰","紫紫","白白"};
String[] signs = new String[] { "处女座", "天枰座", "狮子座", "水瓶座" };
//1,便利数组 实现打印输出 xxx是xxx星座
for(int i=0;i<name.length;i++) {
System.out.println(name[i]+"的星座是:"+signs[i]);
}
//2,使用随机函数,实现一个随机点名器Math.random 0-1随机数 Math.round 四舍五入
int i = (int) Math.round(Math.random()*3);
System.out.println("------------");
System.out.println("恭喜"+name[i]+"获得机会");
//3,猜大小游戏随机生成1-10随机数 手动输入一个数进行表 如果大了提示”猜大了“,”猜小了“,”你真是大聪明“
// int a = (int) Math.round(Math.random());
// while (true) {
// System.out.println("------------");
// Scanner scanner = new Scanner(System.in);
// int b = scanner.nextInt();
// if(b>a) {
// System.out.println("猜大了");
// }if(b<a) {
// System.out.println("猜小了");
// }if(b==a) {
// System.out.println("猜对了");
// break;
// }
// }
// 4,随机生产4位验证码 字母和数字 (验证码字符串 一次取一个 取4次)
System.out.println("------------");
String sj ="123456qwertyASDFG";//定义的字符串
String sr="";
for(int i1=0;i1<4;i1++) {
int index=(int) (Math.random()*sj.length());
sr +=sj.charAt(index);//sr+sj.charAt(index)=sr
}
System.out.println(sr);
}
}
2、重写? Override
发生在子父类中,子类重写父类中的方法
3,重载 Overload
方法重载:方法名相同,参数列表不同 跟返回值无关
4,list和map
1,接口里面有什么? 常量和抽象方法(abstract)
2,接口可以实例化对象吗? 只能被实现(implements),子类重写接口中的抽象方法
3,接口的作用? 规范代码,统一参数类型 返回值
4,集合框架 list map set
package com.hp.utile;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;import java.sql.SQLException;
public class JDBCUtile {
//驱动地址
private static String Driver = "com.mysql.cj.jdbc.Driver";
//连接地址
private static String url = "jdbc:mysql://localhost:3306/j22?charset=utf-8";
//用户名
private static String username = "root";
//密码
private static String password = "1234";
//全局变量
private static PreparedStatement ps;
private static ResultSet rs;
private Connection conn;
private int i;
//连接的方法
public Connection getConn() {
//加载驱动
try {
Class.forName(Driver);
conn = DriverManager.getConnection(url,username,password);
}catch (ClassNotFoundException e) {
e.printStackTrace();
}catch (SQLException e) {
e.printStackTrace();
}
//创建连接
return conn;
}
//关流的方法
public void closeConn() {
if(rs!=null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(ps!=null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//查询的方法
public ResultSet query(String sql,Object[] obj) {
//获取连接
conn = getConn();
try {
//预编译sql语句
ps = conn.prepareStatement(sql);
//给?赋值
for (int i = 0; i < obj.length; i++) {
ps.setObject(i+1, obj[i]);
}
//执行查询
rs = ps.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
//增删改的方法
public int add(String sql) {
conn=getConn();
try {
ps=conn.prepareStatement(sql);
i=ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return i;
}
public int update(String sql,Object[] obj) {
//获取连接
conn = getConn();
try {
//预编译sql语句
ps = conn.prepareStatement(sql);
//给?赋值
for (int i = 0; i < obj.length; i++) {
ps.setObject(i+1, obj[i]);
}
//执行查询
i = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return i;
}
//测试
public static void main(String[] args) throws SQLException {
//创建对象
JDBCUtile jd = new JDBCUtile();
jd.query("select * from tb_user where id=?", new Object[] {3});
while (rs.next()) {
System.out.println(rs.getInt(1)+"\t"+rs.getString(2));
}
//关流
jd.closeConn();
}
}