JAVA面向对象第一天
一. 知识点:
1. 类和对象
二. 关键问题(理论):
1. 简述什么是类、什么是对象
2. 简述基本类型变量与引用类型变量赋值时的差别
3. 简述null的含义
三. 关键代码(操作):
1. 经典案例(课上完成):
1) 定义Tetris项目中的Cell类,要求如下: (8)
定义Cell类来表示格子,类中需要包含两个成员变量:
row表示行号,类型为int
col表示列号,类型为int
2) 实现格子下落、左移及获取格子位置信息的功能,要求如下: (15)
实现格子的下落功能,即: 为 Cell类定义下落的方法,调用该方法后,格子的位置将下降一行。
实现格子的左移功能,即: 为 Cell类定义左移方法:调用左移方法,并传入需要移动的列数,则格子将向左移动相应的列数.
实现格子的getCellInfo方法,调用该方法,即可打印格子的位置信息。
修改: 添加格子的右移方法,调用该方法后,格子的位置右移一格
3) 创建Cell对象并添加打印方法,要求如下: (20)
设置格子的坐标,然后在界面上打印显示格子的位置信息。
修改:创建Cell对象,调用getCellInfo()方法后,输出格子行号和列号
2. 作业(课下完成):
1) 创建Car汽车类,包含: (25)
属性:brand(品牌),price(价格),color(颜色)
方法:show(),用于输出汽车对象的3个属性
startup(),用于输出brand品牌的汽车启动了
创建CarTest类,在main()中:
创建Car的两个对象,并给属性赋值,再调用方法
2) 创建Cell对象cell1,声明Cell型引用cell2并赋值为cell1 (10)
设置cell1的row为2,设置cell2的row为5,输出cell1的row的值

JAVA面向对象第二天
一. 知识点:
1. 方法的重载
2. 构造方法
3. 引用类型数组
二. 关键问题(理论):
1. 简述什么是方法的重载
2. 简述构造方法的作用、构造方法如何调用?
3. 简述java中this关键字的含义
三. 关键代码(操作):
1. 经典案例(课上完成):
1) 重载drop方法,moveLeft方法,要求如下: (10)
调用 moveLeft 方法,不用传入参数,格子即左移一列
调用 drop 方法,传入下落的行数后,格子可以下落多行
修改: 重载moveRight()方法,传入参数,格子位置右移多格
2) 给Cell类添加构造方法,要求如下: (5)
为 Cell 类定义有参构造方法,并在构造方法中初始化 Cell 的行和列
3) 给Cell类添加重载的构造方法,要求如下: (10)
为 Cell 类定义默认构造方法
为 Cell 类定义构造方法,要求该构造方法接收一个int类型的参数
4) 定义Tetris项目中的T类和J类并测试 (60)
修改:定义L类并测试
2. 作业(课下完成):
1) 为Car类定义构造方法: (10)
1.Car(String brand,double price,String color),方法中分别给3个属性赋值
2.Car(),方法中调用Car3个参数构造方法,数据为"奥迪Q5",200000,"白色"
2) 定义Tetris项目中的O类包含: (20)
属性: 格子数组cells
构造方法: O(int row,int col),构造方法中对cells进行初始化
方法: drop()下落 moveLeft()左移 moveRight()右移 print()输出格子坐标
创建OTest测试类,在main()中:
创建O类对象,对属性赋值并调用方法。
3) 定义Tetris项目中的I类、S 类、Z类------要求同O类 (60)

JAVA面向对象第三天
一. 知识点:
1. java内存管理
2. 继承
二. 关键问题(理论):
1. 简述java堆中用于存储什么、栈中用于存储什么
2. 简述java是否会发生内存泄漏
3. 简述继承的作用、继承通过什么关键字实现
三. 关键代码(操作):
1. 经典案例(课上完成):
1) 构建Tetromino父类,重构T和J类并测试 (40)
修改: 重构L类并测试
2. 作业(课下完成):
1) 创建Person父类,包含: (40)
属性: name(姓名),age(年龄),address(家庭地址)
方法: show()---问好方法,用于输出所有属性
创建Student子类,继承Person类,包含:
属性: className(班级名称)
方法: study()-----输出name在学习
创建Teacher子类,继承Person类,包含:
属性: salary(工资)
方法: teach()-----输出name在授课
创建PersonTest类,main()中:
创建Student类对象zs,对其所有属性赋值,再调用其所有方法
创建Teacher类对象wkj,对其所有属性赋值,再调用其所有方法
2) 创建Test类,main()中: (10)
创建Person类型引用指向Student类的对象
通过该引用访问其所能访问的所有属性并调用其所能调用的所有方法
3) 重构O类、I类、S类、Z类并测试 (30)

JAVA面向对象第四天
一. 知识点:
1. 方法的重写、重写与重载的区别
2. 封装
3. 访问修饰符
4. static
5. final
二. 关键问题(理论):
1. 简述重写与重载的区别
2. 简述静态变量和实例变量的区别
3. 简述java的访问权限范围
4. 简述何时使用静态变量、何时使用静态方法
三. 关键代码(操作):
1. 经典案例(课上完成):
1) 重写T类和J类的print方法并测试,要求如下: (10)
打印显示前输出"i am a T"或"i am a J"
修改:重写O类的print方法并测试,打印显示前输出"i am a O"
2. 作业(课下完成):
1) 在Student类中,重写Person类的show()方法, (10)
输出:"大家好,我是学生,我叫name,今年age岁了,家住address,所在班级为className"
在Teacher类中,重写Person类的show()方法,
输出:"大家好,我是老师,我叫name,今年age岁了,家住address,工资为salary"
2) 现在做咱们班级的管理系统,需设计一个学生类Student,类中包含: (15)
实例变量:name(姓名),age(年龄),adddress(地址)
静态变量:className(班级名称)
将className设置为咱们班的班级名称
创建两个Student对象访问实例变量
3) 重写L类、I类、O类、S类、Z类的print方法并测试 (20)
打印显示前输出相应的提示

JAVA面向对象第五天
一. 知识点:
1. 抽象类
2. 接口
二. 关键问题(理论):
1. 简述何为抽象方法
2. 接口是否可继承接口、抽象类是否可实现接口、 抽象类是否可继承实体类
3. 简述接口中可以包含的内容
三. 关键代码(操作):
1. 经典案例(课上完成):
1) 根据周长计算不同形状图形的面积,要求如下: (30)
计算多种图形的面积,并比较各种图形面积的最大值。
使用抽象类及其子类的方式实现本案例。
修改:定义三角形类继承Shape,实现其area()方法
注: 计算公式为0.0517*c*c
2) 银行卡系统(实现银联接口),要求如下: (40)
银联接口,用于描述银联统一制定的规则,该接口提供检测密码方法、取钱方法以及查询余额方法。
工商银行接口,用于描述工商银行发行的卡片功能,在满足银联接口的规则基础上,增加了在线支付功能。
农业银行接口,用于描述中国农业银行发行的卡片功能,在满足银联接口的规则基础上,增加了支付电话费的功能。
实现工商银行接口和农业银行接口,并进行测试。
2. 作业(课下完成):
1) 定义正六边形类继承Shape,实现其area()方法 (8)
计算公式详见课后作业
2) 定义建设银行接口CCB继承银联接口,并实现该接口 (15)
要求在银联基础之上增加支付燃气费功能
3) 声明常量WIDTH表示窗口的宽,常量HEIGHT表示窗口的高,值自拟 (5)

JAVA面向对象第六天
一. 知识点:
1. 多态
2. 内部类
3. 面向对象汇总
二. 关键问题(理论):
1. 面向对象的三个基本特征是什么
2. 简述抽象类与接口的区别
3. 简述何为向上造型、能够造型成的类型有什么
三. 关键代码(操作):
1. 经典案例(课上完成):
1) 农行ATM机系统,详细要求如下: (40)
1.1) 中国农业银行的ATM机对所有银联卡提供检查密码功能、取款功能以及 查询余额功能。
1.2) 如果为农行的卡,可以实现支付电话费功能。
2. 作业(课下完成):
1) 在ABCATM类中,添加方法,用于查询余额 (10)
2) 声明接口MyInter,包含抽象方法show(),say() (8)
创建类InnerTest,在main()中:
创建MyInter的匿名内部类对象,调用show()方法

java基础学习周计划之2--面向对象的更多相关文章

  1. java基础学习周计划之1--语言基础

    JAVA语言基础第一天一. 知识点:1. 认识Linux操作系统2. JAVA开发环境3. Eclipse IDE二. 关键问题(理论):1. Linux中常用命令pwd.ls.cd的作用2. 简述J ...

  2. java基础学习周计划之3--每周一练

    每周一练第一周 一. 关键代码:1.斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...数列第一项和第二项是1, 从第三项开始, ...

  3. Java基础学习总结(6)——面向对象

    一.JAVA类的定义 JAVA里面有class关键字定义一个类,后面加上自定义的类名即可.如这里定义的person类,使用class person定义了一个person类,然后在person这个类的类 ...

  4. 尚学堂JAVA基础学习笔记

    目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...

  5. Java基础学习笔记总结

    Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...

  6. 转载-java基础学习汇总

    共2页: 1 2 下一页  Java制作证书的工具keytool用法总结 孤傲苍狼 2014-06-24 11:03 阅读:25751 评论:3     Java基础学习总结——Java对象的序列化和 ...

  7. JAVA基础学习-集合三-Map、HashMap,TreeMap与常用API

    森林森 一份耕耘,一份收获 博客园 首页 新随笔 联系 管理 订阅 随笔- 397  文章- 0  评论- 78  JAVA基础学习day16--集合三-Map.HashMap,TreeMap与常用A ...

  8. [转帖]java基础学习总结——多态(动态绑定)

    https://www.cnblogs.com/xdp-gacl/p/3644035.html 多态的概念 java基础学习总结——多态(动态绑定) 一.面向对象最核心的机制——动态绑定,也叫多态

  9. Java基础学习(2)

    Java基础学习(二) 面向对象 对象:客观存在的事物 面向对象:人具体关注的事物的某些信息 类:是模子,确定对象会拥有的特征(属性)和行为(方法) 对象的属性:对象具有的各种特征 对象的方法:对象能 ...

随机推荐

  1. Unix 的缺陷 - 王垠

    我想通过这篇文章解释一下我对 Unix 哲学本质的理解.我虽然指出 Unix 的一个设计问题,但目的并不是打击人们对 Unix 的兴趣.虽然 Unix 在基础概念上有一个挺严重的问题,但是经过多年的发 ...

  2. 抛开rails使用ActiveRecord连接数据库

    今天是大年三十,明天就正式进入羊年鸟,给所有程序猿(媛)同人拜个年吧!祝大家身体健康,事业有成,财源广进哦! 话归正题,以前都是在rails中使用数据库,或者在rails的console中使用:我们如 ...

  3. C语言有哪些鲜为人知的特性?

    译注:本文摘编自 Quora 的一个热门问答贴. 请在linux系统下测试本文中出现的代码 Andrew Weimholt 的回复: switch语句中的case 关键词可以放在if-else或者是循 ...

  4. java多线程的基础-java内存模型(JMM)

    在并发编程中,需要处理两个关键问题:线程之间如何通信,以及线程之间如何同步.通信是指线程之间如何交换信息,在命令式编程中,线程之间的通信机制有两种:内存共享和消息传递.      同步是指程序中用于控 ...

  5. combinations(组合)

    Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For exampl ...

  6. 使用 JMeter 进行压力测试

    一.前言 压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率:预估系统的承载能力,使我们能根据其做出一些应对措施.所以压力测 ...

  7. tomcat启动非常慢;连接oracle数据库失败,jdbc错误日志提示connection reset;测试主机间网络互通及数据库端口都正常

      [判断确认:这时候大家可能要去检查一下/dev/random 这个设备档案.可以用cat /dev/random 来看它的内容,如果你发现他一直没显示任何内容﹝可能是乱码数字之类的﹞,那就是它出问 ...

  8. golang基础- ElasticSearch搜索引擎、kibana可视化工具、向ES输出数据

    转载自:https://blog.csdn.net/u013210620/article/details/78647366 安装ElasticSearch ElasticSearch是一个基于Luce ...

  9. mac上Python多版本共存

    http://www.cnblogs.com/mingaixin/p/6295963.html https://www.cnhzz.com/pyenv_virtualenv_virtaulenvwra ...

  10. 分布式爬虫框架XXL-CRAWLER

    <分布式爬虫框架XXL-CRAWLER> 一.简介 1.1 概述 XXL-CRAWLER 是一个分布式爬虫框架.一行代码开发一个分布式爬虫,拥有"多线程.异步.IP动态代理.分布 ...