## 一、初识面向对象
### 2.1 类和对象
### 2.2 类的创建
### 2.3 实例对象
### 【练习】
* 有关 Java 中的类和对象,以下说法错误的是()(选择一项)
```
A. 同一类的所有对象都拥有相同的特征和行为
B. 类和对象一样,只是说法不同
C. 对象是具有属性和行为的实体
D. 类规定了对象拥有的特征和行为
```
* 在 Java 中,以下程序的运行结果是()(选择一项)
```
public class Person {
String name;
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name);
}
}
```
```
A 输出:null
B 正常运行,但不会输出任何内容
C 编译出错,不能运行
D 能运行,但运行时会出现异常
```
### 2.4 单一指责原则
### 2.5 new 关键字
### 【练习】
* 下面代码运行的正确结果是()(选择一项)
```
class Phone {
String message;
}
public class PhoneTest {
public static void main(String[] args) {
Phone p1 = new Phone();
p1.message = "hello";
Phone p2 = p1;
p2.message = "world";
System.out.println(p1.message);
}
}
```
```
A 编译错误,无法正常运行
B 编译正确,但运行时产生错误
C hello
D world
```
* ()空间用于存储使用new关键字所创建的对象(选择一项)
```
A 堆 B 栈 C 方法区 D 实例区
```
* 编写自定义 Person 类,根据提示以及效果补全代码。程序运行参考效果图如下:
```
我是一名学生!
我是一个男孩!
我叫李明,今年10岁了,读小学五年级了。
```
```
public class Test {
public static void main(String[] args) {
// 使用 new 关键字实例化对象
// 传入name、age、grade的参数值
// 分别调用 student、sex、mySelf 方法
}
}
public class Person {
// 属性:name、age、grade
// 创建无参无返回值的student方法,描述为:我是一名学生!
// 创建带参(性别sex)的sex方法,描述为:我是一个**孩!
// 创建无参无返回值的mySelf方法,分别介绍姓名(name),年龄(age),年级(grade)
}
```
## 二、构造方法
### 2.1 无参构造方法
### 2.2 带参构造方法
### 【练习】
* 分析下面的 Java 代码,编译运行结果是()(选择一项)
```
public class Test {
int number;
String strname;
Test (int num, String name) {
number = num;
strname = name;
System.out.println("学号:" + num + " 姓名:" + name);
}
public static void main (String[] args) {
Test obj1 = new Test();
Test obj2 = new Test(1, "张三");
}
}
```
```
A 运行结果为:学号:1 姓名:张三
B 运行结果为:学号:null 姓名:张三
C 程序出现编译错误
D 程序出现运行时异常
```
* 下面的哪几项是合法的构造方法重载()(选择两项)
```
public class Diaplay {
// ...
}
```
```
A public Display(String s) {}
B public int display(int n1, int n2) {}
C Display(int ...a) {}
D public display(String s, int a) {}
```
* 下列代码的运行结果为()
```
public class User {
String mainboard, cpu;
public User(String s1, String s2) {
mainboard = s1;
cpu = s2;
}
public static void main(String[] args) {
User c = new User("华硕", "Intel");
System.out.println("mainboard:" + c.mainboard + ", cpu:" + c.cpu);
}
}
```
### 2.3 this 关键字
### 【练习】
* 以下程序编译运行后的输出结果为()
```
public class Test {
int x, y;
Test (int x, int y) {
this.x = x;
this.y = y;
}
public static void main(String[] args) {
Test pt1, pt2;
pt1 = new Test(3, 3);
pt2 = new Test(4, 4);
System.out.println(pt1,x + pt2.x);
}
}
```
### 2.4 构造方法调用
### 【练习】
* 下列关于 this说法错误的选项是()(选择两项)
```
A 在构造方法中如果使用 this 调用其他构造方法,只能是第一条语句
B 不能在构造方法中调用同一个类的其他构造方法
C 在构造方法中如果使用 this 调用其他构造方法,语句可以放在任意位置
D 可以使用 this.方法名() 或者 this.属性名来引用当前对象的成员
```
* 编写自定义猴子类,按照效果图,在编辑器中对应空白区域编写代码。
```
我是使用无参构造产生的猴子:
名称:长尾猴
特征:尾巴长
我是使用带参构造产生的猴子:
名称:白头叶猴
特征:头上有白毛,喜欢吃树叶
```
```
public class Test {
public static void main(String[] args) {
// 调用无参构造方法实例对象
// 打印输出对象属性
// 调用带参构造方法实例对象
// 打印输出对象属性
}
}
public class Monkey {
// 属性:姓名(name)、特征(feature)
// 无参的构造方法(默认初始化name和feature的属性值,属性值参考效果图)
// 带参的构造方法(接收外部传入的参数,分别向 name 和 feature 赋值)
}
```
- 阶段一 Java 零基础入门
- 步骤1:基础语法
- 第01课 初识
- 第02课 常量与变量
- 第03课 运算符
- 第04课 选择结构
- 第05课 循环结构
- 第06课 一维数组
- 第08课 方法
- 第09课 数组移位与统计
- 第10课 基础语法测试
- 第09课 基础语法测试(含答案)
- 步骤2:面向对象
- 第01课 类和对象
- 第02课 封装
- 第03课 学生信息管理
- 第04课 继承
- 第05课 单例模式
- 第06课 多态
- 第07课 抽象类
- 第08课 接口
- 第09课 内部类
- 第10课 面向对象测试
- 第10课 面向对象测试(含答案)
- 步骤3:常用工具类
- 第01课 异常
- 第02课 包装类
- 第03课 字符串
- 第04课 集合
- 第05课 集合排序
- 第06课 泛型
- 第07课 多线程
- 第08课 输入输出流
- 第09课 案例:播放器
- 第10课 常用工具测试(一)
- 第10课 常用工具测试(一)(答案)
- 第10课 常用工具测试(二)
- 第10课 常用工具测试(二)(答案)
- 阶段二 从网页搭建入门 JavaWeb
- 步骤1:HTML 与 CSS
- 第01课 HTML 入门
- 第01课 HTML 入门(作业)
- 第02课 CSS 入门
- 第02课 CSS 入门(作业)
- 第03课 CSS 布局
- 第03课 CSS 布局(作业)
- 步骤2:JavaScript 与前端案例
- 第01课 JavaScript 入门
- 第01课 JavaScript 入门(作业)
- 第02课 仿计算器
- 第03课 前端油画商城案例
- 第04课 轮播图
- 第05课 网页搭建测试
- 第05课 网页搭建测试(含答案)
- 步骤3:JavaScript 教程
- 入门
- 概述
- 基本语法
- 数据类型
- 概述
- 数值
- 字符串
- undefined, null 和布尔值
- 对象
- 函数
- 数组
- 运算符
- 算术运算符
- 比较运算符
- 布尔运算符
- 位运算符
- 运算顺序
- 语法专题
- 数据类型的转换
- 错误处理机制
- 标准库
- String
- Date
- Math
- DOM
- 概述
- Document 节点
- 事件
- EventTarget 接口
- 事件模型
- 常见事件
- 阶段三 数据库开发与实战
- 步骤1:初始数据库操作
- 第01课 数据类型
- 第02课 表的管理
- 第03课 数据管理
- 第04课 常用函数
- 第05课 JDBC 入门
- 第06课 Java 反射
- 第07课 油画商城
- 第08课 数据库基础测试
- 步骤2:MyBatis 从入门到进阶
- 第01课 IntelliJ IDEA 开发工具入门
- 第02课 Maven 入门
- 第03课 工厂模式
- 第04课 MyBatis 入门
- 第05课 MyBatis 进阶
- 第06课 商品信息管理
- 第07课 MyBatis 基础测试
- 步骤3:Redis 数据库与 Linux 下项目部署
- 第01课 Linux 基础
- 第02课 Linux 下 JDK 环境搭建及项目部署
- 第03课 Redis 入门
- 阶段四 SSM 到 Spring Boot 入门与综合实战
- 步骤1:Spring 从入门到进阶
- 第01课 Spring 入门
- 第02课 Spring Bean 管理
- 第03课 Spring AOP
- 第04课 基于 AspectJ 的 AOP 开发
- 第05课 JDBC Template
- 第06课 Spring 事务管理
- 第07课 人员管理系统开发
- 第08课 Spring 从入门到进阶测试
- 步骤2:Spring MVC 入门与 SSM 整合开发
- 第01课 Spring MVC 入门与数据绑定
- 第02课 Restful 风格的应用
- 第03课 SpringMVC 拦截器
- 第04课 办公系统核心模块
- 步骤3:Spring Boot 实战
- 第01课 Spring Boot 入门
- 第02课 校园商铺项目准备
- 第03课 校园商铺店铺管理
- 第04课 校园商铺商品管理及前台展示
- 第05课 校园商铺框架大换血
- 步骤4:Java 面试
- 第01课 面试准备
- 第02课 基础面试技巧
- 第03课 Web基础与数据处理
- 第04课 主流框架