### Socket编程 #### 服务器端 在Java中,服务器端通过`ServerSocket`类来创建。服务器端的主要职责是监听指定的端口,接受客户端的连接请求,并与客户端进行通信。 ```java public class TestSocket { public static void main(String[] args) throws Exception { ServerSocket serverSocket = new ServerSocket(7777); // 监听7777端口 while (true) { Socket socket = serverSocket.accept(); // 接受客户端连接 System.err.println("客户端已连接"); DataInputStream dataInputStream = new DataInputStream(socket.getInputStream()); String str = dataInputStream.readUTF(); System.err.println(str); } } } ``` #### 客户端 客户端通过`Socket`类来建立与服务器的连接,并发送消息到服务器端。 ```java public class TestClient { public static void main(String[] args) throws Exception { Socket client = new Socket("192.168.0.105", 7777); // 连接到服务器的7777端口 OutputStream os = client.getOutputStream(); DataOutputStream dataOutputStream = new DataOutputStream(os); dataOutputStream.writeUTF("Hello Server!"); // 发送消息 } } ``` ### 抽象类Abstract #### 定义 抽象类使用`abstract`关键字声明。当一个类包含一个或多个抽象方法时,该类必须声明为抽象类。抽象类不能被实例化,只能作为其他类的基类。 示例: ```java public abstract class BaseClass { public abstract void someMethod(); // 抽象方法 } public class ConcreteClass extends BaseClass { @Override public void someMethod() { // 实现抽象方法 // 方法体 } } ``` ### 接口 #### 定义 接口是一种特殊类型的抽象类,其中所有方法默认都是公共的抽象方法,所有成员变量默认都是公共的静态最终变量。 ```java public interface MyInterface { int SOME_CONSTANT = 10; // 默认为 public static final void someMethod(); // 默认为 public abstract } ``` #### 特性 - 接口可以被类实现,一个类可以实现多个接口。 - 接口中定义的方法默认为`public abstract`。 - 接口中定义的成员变量默认为`public static final`。 - 接口可以继承其他接口,形成接口之间的继承关系。 ### this关键字 #### 定义及用法 `this`关键字用于引用当前对象。主要用于以下情况: - 当局部变量与成员变量同名时,可以通过`this`关键字明确地访问成员变量。 - 调用本类中的其他构造方法。 - 返回当前对象本身。 示例: ```java public class MyClass { private int id; public MyClass(int id) { this.id = id; } public void printId() { System.out.println(this.id); } } ``` ### super关键字 #### 定义 `super`关键字用于引用当前对象的直接父类对象。主要用于以下场景: - 访问父类的构造方法。 - 访问父类的成员变量。 - 调用父类的方法。 示例: ```java public class Parent { protected String name; public Parent(String name) { this.name = name; } public void display() { System.out.println("Parent Name: " + name); } } public class Child extends Parent { public Child(String name) { super(name); // 调用父类构造器 } @Override public void display() { System.out.println("Child Name: " + super.name); // 访问父类成员变量 } } ``` ### 软件开发流程 软件开发过程通常包括以下几个阶段: 1. **需求分析**:明确软件需要解决的问题以及功能需求。 2. **概念设计**:确定软件的基本结构和功能模块。 3. **详细设计**:对每个功能模块进行详细的算法设计。 4. **编码**:根据设计文档编写代码。 5. **测试**:验证软件是否满足需求并修复缺陷。 6. **软件交付**:将软件部署到生产环境。 7. **验收**:用户确认软件符合预期。 8. **维护**:根据用户反馈进行软件更新和维护。 ### JDBC #### 基础操作 JDBC(Java Database Connectivity)是一种用于执行SQL语句的标准Java API,它可以为多种关系数据库提供统一的访问接口。 1. **加载JDBC驱动程序** ```java Class.forName("com.mysql.cj.jdbc.Driver"); // MySQL驱动 Class.forName("oracle.jdbc.OracleDriver"); // Oracle驱动 ``` 2. **提供JDBC连接的URL** ```java String url = "jdbc:mysql://localhost:3306/mydb"; // MySQL示例 String url = "jdbc:oracle:thin:@192.168.0.64:1521/xe"; // Oracle示例 ``` 3. **创建数据库的连接** ```java Connection con = DriverManager.getConnection(url, "username", "password"); ``` 4. **创建Statement** ```java Statement stmt = con.createStatement(); ``` 5. **执行SQL语句** ```java ResultSet rs = stmt.executeQuery("SELECT * FROM students"); ``` 6. **遍历ResultSet** ```java while (rs.next()) { String id = rs.getString("id"); String name = rs.getString("name"); // ... } ``` 以上内容覆盖了Socket编程、抽象类、接口、`this`和`super`关键字、软件开发流程以及JDBC的基础知识。这些知识点是Java编程的重要组成部分,在面试准备过程中务必熟练掌握。
剩余6页未读,继续阅读
- 粉丝: 1
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助