会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 128778个问题

public class User3 {
    int id;        //id
    String name;   //账户名
    String pwd;   //密码
    static String company; //公司名称
    static {
        System.out.println("执行类的初始化工作");
        company = "北京尚学堂";
        printCompany();
    }  
    public static void printCompany(){
        System.out.println(company);
    }  
    public static void main(String[] args) {
        User3  u3 = new User3();
    }
}


问题1   我记得前面视频好像说过一个程序里只能有一个public定义的类啊。为什么这个程序里有三个public?难道是类里面可以用public 来修饰方法?

------------------------------------------------------------------------------------------------------

/**
 * 测试static关键字的用法
 * @author 高淇
 *
 */
public class User2 {
    int id; // id
    String name; // 账户名
    String pwd; // 密码
     
    static String company = "北京尚学堂"; // 公司名称
     
     
    public User2(int id, String name) {
        this.id = id;
        this.name = name;
    }
     
    public void login() {
        printCompany();
        System.out.println(company); 
        System.out.println("登录:" + name);
    }
     
    public static void printCompany() {
//         login();//调用非静态成员,编译就会报错
        System.out.println(company);
    }
     
    public static void main(String[] args) {
        User2 u = new User2(101, "高小七");
        User2.printCompany();
        User2.company = "北京阿里爷爷";
        User2.printCompany();
    }
}

问题二   为什么这个User修饰的类定义了一个 u 对象后 是

User2.printCompany();
        User2.company = "北京阿里爷爷";
        User2.printCompany();

我觉得应该用 u吧,就像这样:(PS:难道是因为静态方法可以直接用类名进行调用?)

u.printCompany();
        u.company = "北京阿里爷爷";
        u.printCompany();


JAVA 全系列/第一阶段:JAVA 快速入门/面向对象详解和JVM底层内存分析 37666楼
JAVA 全系列/预科阶段:职业规划/学习方法/JAVA 技术体系介绍和学习方法 37668楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 37669楼

老师, 请问一下, 我按照视频中的方法加载"db.properties"文件到输入流, 但是输入流是null.. 请看:


DBUtil.JAVA文件截图:


123.png


代码:

package com.yuanzhao.dbutil;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;


public class DBUtil {
	private static String url;
	private static String user;
	private static String password;
	
	static {
		try {
			Properties prop = new Properties();
			
			// 创建文件输入流
			InputStream is = DBUtil.class.getClassLoader().getResourceAsStream("db.properties");
			
			//测试输出
			System.out.println(is);
			
			// 加载配置文件
			prop.load(is);
					
			url = prop.getProperty("jdbc.url").trim();
			user = prop.getProperty("jdbc.username").trim();
			password = prop.getProperty("jdbc.password").trim();
		} catch (IOException e) {
			e.printStackTrace();
			
		}
	}
	
	public static Connection getConn() {
		Connection conn = null;
		try {
			conn = DriverManager.getConnection(url, user, password);
		} catch (SQLException e) {
			System.out.println("DBUtil.getConn(连接创建失败, 请检查[url]:" + url + ", [user]:" + user + ", [password]:" + password + ")");
		}
		return conn;
	}

	public static Statement getStatement(Connection conn) {
		Statement statement = null;
		try {
			statement = conn.createStatement();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return statement;
	}

	public static PreparedStatement getStatement(Connection conn, String sql) {
		PreparedStatement preparedStatement = null;
		try {
			preparedStatement = conn.prepareStatement(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return preparedStatement;
	}

	public static void bindParam(PreparedStatement preparedStatement, Object... params) {
		try {
			for (int i = 0; i < params.length; i++) {
				preparedStatement.setObject((i + 1), params[i]);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public static void close(ResultSet resultSet, Statement statement, Connection conn) {
		if (resultSet != null) {
			try {
				resultSet.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}

		if (statement != null) {
			try {
				statement.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}

		if (conn != null) {
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}


源代码打包:

MyPro0305.zip


JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 37670楼


自定义标题

段落格式

字体

字号

代码语言

点击上传

x

元素路径:

字数统计

发布取消

作业提交成功!

老师会在1个工作日内批改你的作业

返回课程表

青松的作业记录:

2018-09-22 22:02:39

10分优秀

  1. 使用递归算法完成阶乘:1!+2!+3!+4!+5!

    jdk版本:jdk1.80

    完成时间:2018/9/22

    作者:段青松

    代码:

/**
 * 使用递归计算1! + 2!+3!+4!+5!;
 * @author 862973691
 *
 */
public class Test7 {

 public static void main(String[] args) {
  System.out.println("1! + 2!+3!+4!+5!= " + f2(5));


 }
 
 //使用递归计算某一个数的阶乘的方法
 public static int f(int n) {
  if( 1 == n) {
   return 1;
  }else {
   return n*f(n -1);
  }
 }
 
 //使用迭代计算1! + 2!+3!+4!+5!+ ... + n!
 public static int f2(int n) {
  int sum = 0;//阶乘和
  for(int i = 1; i<=n; i++) {
   sum += f(i);
  }
  return sum;
 }
 
}


老师,我想问,我交作业时,代码是在eclipse里写好,然后复制粘贴过来,怎么格式与eclipse里不一样,怎么弄

才能和eclipse格式相同?缩进都不一样了!

JAVA 全系列/第一阶段:JAVA 快速入门/变量、数据类型、运算符 37671楼
JAVA 全系列/第一阶段:JAVA 快速入门/变量、数据类型、运算符 37672楼
JAVA 全系列/第一阶段:JAVA 快速入门/JAVA入门和背景知识 37675楼
JAVA 全系列/第一阶段:JAVA 快速入门/面向对象详解和JVM底层内存分析 37678楼
JAVA 全系列/第一阶段:JAVA 快速入门/面向对象详解和JVM底层内存分析 37679楼
JAVA 全系列/第一阶段:JAVA 快速入门/变量、数据类型、运算符 37680楼

百战程序员微信公众号

百战程序员微信小程序

©2014-2024 百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637