static
1.静态成员或类成员。
(1.)它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。
private static final String URL = "jdbc:mysql://127.0.0.1:3306/imooc";
private static final String USER = "root";
private static final String PASSWORD = "root";
(2.)静态成员可以使用类名直接访问,也可以使用对象名进行访问。
2.静态成员方法:
(1): 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。
( 如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。)
//游戏开始
public static void main(String[] args){
game g = new game();
System.out.println("创建了一副扑克牌:");
g.mPoker.printPokerCard();
g.creatPlayer();
System.out.println("请输入你要抽取牌的数量");
g.dealCardCount = g.scanner.nextInt();
g.pullAndShuffleCard();//抽牌和洗牌
g.compareMaxCard();//两个玩家比较手中最大的牌
}
//创建玩家
public void creatPlayer(){
System.out.println("请输入第一位玩家的ID: ");
int input1Id = scanner.nextInt();
System.out.println("请输入第一位玩家的name: ");
String input1Name = scanner.next();
player1 = new player(input1Id,input1Name);
System.out.println("请输入第二位玩家的ID: ");
int input2Id = scanner.nextInt();
System.out.println("请输入第二位玩家的name: ");
String input2Name = scanner.next();
player2 = new player(input2Id,input2Name);
}
(2):在普通成员方法中,则可以直接访问同类的非静态变量和静态变量。
3.静态成员代码块
(1): 静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
(程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。)
private static final String URL = "jdbc:mysql://127.0.0.1:3306/imooc";
private static final String USER = "root";
private static final String PASSWORD = "root";
private static Connection conn = null ;
static {
try {
//加载驱动程序
Class.forName("com.mysql.jdbc.Driver");
//连接数据库
conn = DriverManager.getConnection(URL,USER ,PASSWORD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static Connection getConnection(){
return conn ;
}