今日内容
抽象类
接口
内部类
教学目标
能够写出抽象类的格式
能够写出抽象方法的格式
能说出抽象类的应用场景
写出定义接口的格式
写出实现接口的格式
说出接口中成员的特点
能说出接口的应用场景
能说出接口中为什么会出现带有方法体的方法
能完成适配器设计模式
第一章 抽象类1.1 概述1.1.1 抽象类引入 父类中的方法,被它的子类们重写,子类各自的实现都不尽相同。那么父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有存在的意义了(因为子类对象会调用自己重写的方法)。换句话说,父类可能知道子类应该有哪个功能,但是功能具体怎么实现父类是不清楚的(由子类自己决定),父类只需要提供一个没有方法体的定义即可,具体实现交给子类自己去实现。我们把没有方法体的方法称为抽象方法。Java语法规定,包含抽象方法的类就是抽象类。
抽象方法 : 没有方法体的方法。
抽象类:包含抽象方法的类。
1.2 abstract使用格式abstract是抽象的意思,用于修饰方法方法和类,修饰的方法是抽象方法,修饰的类是抽象类。
1.2.1 抽象方法使用abstract 关键字...
day14今日内容
多态
包
final
权限修饰符
代码块
教学目标
能够说出使用多态的前提条件
理解多态的向上转型
理解多态的向下转型
能够知道多态的使用场景
包的作用
public和private权限修饰符的作用
描述final修饰的类的特点
描述final修饰的方法的特点
描述final修饰的变量的特点
第一章 多态1.1 多态的形式多态是继封装、继承之后,面向对象的第三大特性。
多态是出现在继承或者实现关系中的。
多态体现的格式:
12父类类型 变量名 = new 子类/实现类构造器;变量名.方法名();
多态的前提:有继承关系,子类对象是可以赋值给父类类型的变量。例如Animal是一个动物类型,而Cat是一个猫类型。Cat继承了Animal,Cat对象也是Animal类型,自然可以赋值给父类类型的变量。
1.2 多态的使用场景如果没有多态,在下图中register方法只能传递学生对象,其他的Teacher和administrator对象是无法传递给register方法方法的,在这种情况下,只能定义三个不同的r...
面向对象进阶部分学习方法:特点:
逻辑性没有那么强,但是概念会比较多。
记忆部分重要的概念,理解课堂上讲解的需要大家掌握的概念,多多练习代码。
day13今日内容
复习回顾
static关键字
继承
教学目标
能够掌握static关键字修饰的变量调用方式
能够掌握static关键字修饰的方法调用方式
知道静态代码块的格式和应用场景
能够写出类的继承格式
能够说出继承的特点
能够区分this和super的作用
能够说出方法重写的概念
能够说出方法重写的注意事项
第一章 复习回顾1.1 如何定义类类的定义格式如下:
12345修饰符 class 类名 { // 1.成员变量(属性) // 2.成员方法 (行为) // 3.构造方法 (初始化类的对象数据的)}
例如:
123456public class Student { // 1.成员变量 public String name ; public char sex ; // '男' ...
1.ArrayList集合和数组的优势对比:
长度可变
添加数据的时候不需要考虑索引,默认将数据添加到末尾
1.1 ArrayList类概述
什么是集合
提供一种存储空间可变的存储模型,存储的数据容量可以发生改变
ArrayList集合的特点
长度可以变化,只能存储引用数据类型。
泛型的使用
用于约束集合中存储元素的数据类型
1.2 ArrayList类常用方法1.2.1 构造方法
方法名
说明
public ArrayList()
创建一个空的集合对象
1.2.2 成员方法
方法名
说明
public boolean add(要添加的元素)
将指定的元素追加到此集合的末尾
public boolean remove(要删除的元素)
删除指定元素,返回值表示是否删除成功
public E remove(int index)
删除指定索引处的元素,返回被删除的元素
public E set(int index,E element)
修改指定索引处的元素,返回被修改的元素
public E get(int...
1.API1.1API概述
什么是API
API (Application Programming Interface) :应用程序编程接口
java中的API
指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。
1.2如何使用API帮助文档
打开帮助文档
找到索引选项卡中的输入框
在输入框中输入Random
看类在哪个包下
看类的描述
看构造方法
看成员方法
2.String类2.1String类概述 String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。String 类在 java.lang 包下,所以使用的时候不需要导包!
2.2String类的特点
字符串不可变,它们的值在创建后不能被更改
虽然 String 的值是不可变的,但是它们可以被共享
字符串效果上相...
一,键盘录入涉及到的方法如下: next()、nextLine()、nextInt()、nextDouble()。
1)next()、nextLine():可以接受任意数据,但是都会返回一个字符串。
比如:键盘录入abc,那么会把abc看做字符串返回。
键盘录入123,那么会把123看做字符串返回。
代码示例:123Scanner sc = new Scanner(System.in);String s = sc.next();//录入的所有数据都会看做是字符串System.out.println(s);
代码示例:123Scanner sc = new Scanner(System.in);String s = sc.nextLine();//录入的所有数据都会看做是字符串System.out.println(s);
2)nextInt(): 只能接受整数。
比如:键盘录入123,那么会把123当做int类型的整数返回。
键盘录入小数或者其他字母,就会报错。
代码示例:123Scanner sc = new Scanner(System.in);int...
练习一:文字版格斗游戏需求:
格斗游戏,每个游戏角色的姓名,血量,都不相同,在选定人物的时候(new对象的时候),这些信息就应该被确定下来。
举例:
程序运行之后结果为:
姓名为:乔峰 血量为:100
姓名为:鸠摩智 血量为:100
乔峰举起拳头打了鸠摩智一下,造成了XX点伤害,鸠摩智还剩下XXX点血。
鸠摩智举起拳头打了鸠摩智一下,造成了XX点伤害,乔峰还剩下XXX点血。
乔峰举起拳头打了鸠摩智一下,造成了XX点伤害,鸠摩智还剩下XXX点血。
鸠摩智举起拳头打了鸠摩智一下,造成了XX点伤害,乔峰还剩下XXX点血。
乔峰K.O.了鸠摩智
代码示例:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384public class GameTest { public ...
1. 类和对象1.1 类和对象的理解客观存在的事物皆为对象 ,所以我们也常常说万物皆对象。
类
类的理解
类是对现实生活中一类具有共同属性和行为的事物的抽象
类是对象的数据类型,类是具有相同属性和行为的一组对象的集合
简单理解:类就是对现实事物的一种描述
类的组成
属性:指事物的特征,例如:手机事物(品牌,价格,尺寸)
行为:指事物能执行的操作,例如:手机事物(打电话,发短信)
类和对象的关系
类:类是对现实生活中一类具有共同属性和行为的事物的抽象
对象:是能够看得到摸的着的真实存在的实体
简单理解:类是对事物的一种描述,对象则为具体存在的事物
1.2 类的定义类的组成是由属性和行为两部分组成
属性:在类中通过成员变量来体现(类中方法外的变量)
行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)
类的定义步骤:
①定义类
②编写类的成员变量
③编写类的成员方法
123456789public class 类名 { // 成员变量 变量1的数据类型 变量1; 变量2的数据类型 变量2; … // 成员方法 方法1; 方法2...
练习一:飞机票需求:
机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。
按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折。
代码示例:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465package com.itheima.test;import java.util.Scanner;public class Test1 { public static void main(String[] args) { /* 机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。 按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折。*/ ...
1. 方法概述1.1 方法的概念 方法(method)是程序中最小的执行单元
注意:
方法必须先创建才可以使用,该过程成为方法定义
方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用
2. 方法的定义和调用2.1 无参数方法定义和调用
定义格式:
123public static void 方法名 ( ) { // 方法体;}
范例:
123public static void method ( ) { // 方法体;}
调用格式:
1方法名();
范例:
1method();
注意:
方法必须先定义,后调用,否则程序将报错
2.3 无参数方法的练习
需求:设计一个方法用于打印两个数中的较大数
思路:
①定义一个方法,用于打印两个数字中的较大数,例如getMax()
②方法中定义两个变量,用于保存两个数字
③使用分支语句分两种情况对两个数字的大小关系进行处理
④在main()方法中调用定义好的方法
代码:
1234567891011121314151617181920...