一个小白记录的大数据实训过程JavaSE day03
1.关于类的继承
继承类型 | 类型描述 | 是否支持 |
---|---|---|
单继承 | 一对一继承 | 支持 |
多重继承 | 一对一对一继承(3个或以上) | 支持 |
不同类继承一个类 | 多个子类继承同一父类 | 支持 |
多继承 | 一个子类继承多个父类 | 不支持 |
以下是父类
package com.kxc.demo;
public class Person {
String name; //成员变量
int age; //成员变量
//默认存在的构造方法,不写也在
public Person() {
System.out.println("Person无参构造方法");
}
//自定义的构造方法,如果写了有参构造函数,就默认取消了无参构造函数,要自己再补充上
public Person(String name,int age) {
this.name = name;
this.age = age;
}
//private只能在本类里调用,比如
/*
private void eat() {
int i = 3; //局部变量
System.out.println(name+"吃饭");
}
public void sleep() {
eat();
System.out.println(name+"睡觉");
}
*/
public void eat() {
int i = 3; //局部变量
System.out.println(name+"吃饭"); //跟下面加this的是一样的
}
public void sleep() {
System.out.println(this.name+"睡觉");//跟上方构造函数其实已经有this了这里不需要
}
}
以下是子类,继承上面的父类,extends
package com.kxc.demo;
public class Student extends Person{
public Student() { //自动调用父类的无参构造方法
//然后调用自己的
System.out.println("student无参构造方法");
}
public Student(String name,int age) {
super(name,age); //调用父类中带有参数的构造器
System.out.println("student有参构造方法");
}
public void eat() {
super.eat();
}
public void school() {
System.out.println(name+"去学校");
}
public void homework(){
System.out.println(name+"做作业");
}
}
继承,就是将父类里所有的属性、方法全都继承过来(private的除外),同时自己也可以有其他的属性和方法。上面的子类中 eat() 就是从父类继承来的,school()、 homework() 则是自己的。
2、关于异常
异常的种类有很多,分的也很细,所以当项目的体量并不大的时候可以直接用 Exception,
try {
Class.forName(driver);
Connection conn=DriverManager.getConnection(url, name, pass);
return conn;
} catch (Exception e) {
e.printStackTrace();
}
java提供的异常并不能满足所有的需求,当需求不满足时,就要手动抛出异常 throws Exception。
3、数据库的连接
(1)jar包的导入,mysql-connector-java-5.1.21.jar(版本自己选,配合自己的数据库跟编译器)
在项目里建一个新的文件lib,把jar包Ctrl+C,Ctrl+V复制进去,然后右键找到build Path -> Add to build path。
(2)连接数据库必须要写的代码
package com.hyg.dao;
//import java.sql.*; 只写这个也可以,不用剩下这几个都写了
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
/*
* 数据库访问基类
*/
public class BaseDao {
//数据库驱动
private String driver = "com.mysql.jdbc.Driver";
//地址(ip、端口、数据库名称)
private String url="jdbc:mysql://mysql:3306/orcl?useUnicode=true&charcterEncoding=UTF-8"; //这里的localhost可能改成mysql
//数据库连接账号
private String name = "root";
//数据库连接密码
private String pass = "123456";
Connection conn; //数据库连接类
PreparedStatement ps; //执行命令(SQL)类
ResultSet rs; //存储执行结果
/*
* 获得数据库连接
* @return 数据库连接对象
*/
public Connection getConn(){
try {
Class.forName(driver);
Connection conn=DriverManager.getConnection(url, name, pass);
return conn;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
new BaseDao().getConn();
}
}
(3)确定好数据库是否开启了允许远程连接,还有确认好账号、密码、数据库的名称。