能够写出类的继承格式
public class A {}
public class B extends A {}
能够说出继承的特点
1.只能单继承
2.可以多层继承
3.一个父类可以有任意多个子类
4.子类可以使用父类的非private修饰和构造方法以外内容
能够区分this和super的作用
this.变量名: 当前类自己的成员变量,没有找父类
this.方法名(参数列表...): 当前类自己的成员方法,没有找父类
this(参数列表...): 当前类自己的其它的构造方法
super.变量名: 父类的成员变量,没有找父类
super.方法名(参数列表...): 父类的成员方法,没有找父类
super(参数列表...): 父类的其它的构造方法
能够说出方法重写的概念
继承中 子类方法父类的方法不能满足自己的需求
子类中重新写了一份方法,方法名称和参数列表和父类方法一模一样
方法体自己写
能够说出方法重写的注意事项
1.方法名称和参数列表必须和父类保持一模一样
2.返回值类型可以不同(后面说)
能够写出抽象类的格式
public abstract class 类名 {
}
能够写出抽象方法的格式
public abstract class 类名 {
public abstract void method();
}
注意:
1.抽象类也是类,只是多了一种抽象方法的定义
2.抽象类不能直接new对象
3.含有抽象方法的类必须定义为抽象类
4.抽象类中不一定含有抽象方法
5.子类继承抽象类,如果有抽象方法没有重写,该子类必须定义为对象类
能够写出接口的定义格式
public interface 接口名 {
public static final 数据类型 名称 = 数据值;
void method();
public default void show() {...}
public static void fun(){...}
}
能够写出接口的实现格式
public class 类名 implements 接口名 {
}
能够说出接口中的成员特点
能够说出多态的前提
1.必须要有继承/接口实现
2.必须要有父类引用指向子类对象(父类/接口类型的变量 保存 子类/实现类对象的地址值)
3.必须要有方法的覆盖重写,否则失去多态的意义
能够写出多态的格式
父类类型 对象名称 = 子类对象;
接口类型 对象名称 = 实现类对象;
能够理解多态向上转型和向下转型
向上转型:
多态的本质就是向上转型 把子类对象当成父类类型使用
Animal a = new Cat();
向下转型: 把子类对象转换成子类自己的类型
转后类型 对象名 = (转后类型)转前变量;
Dog dog = (Dog)a;
判断类型: instanceof
a instanceof Dog: 判断引用变量a如果保存的是Dog类型的对象,返回true,否则返回false
描述final修饰的类的特点
不能被继承,不能有子类
描述final修饰的方法的特点
不能被覆盖重写
描述final修饰的变量的特点
不能第二次赋值,值不能被改变
基本类型: 指的是具体的数据值不可改变
引用类型: 指的是变量中保存的内存地址不可改变,但是对应的空间中的内容是可变的
能够掌握static关键字修饰的变量调用方式
类名.变量名
能够掌握static关键字修饰的方法调用方式
类名.方法名
能够写出静态代码块的格式
static {...}
记住: 静态中不能使用非静态
能够说出权限修饰符作用范围
1.public: 在整个模块中都可以使用
2.private: 在当前自己类中可以使用
3.protected: 只要是子类(相同/不同包中)都可以用 无关类(同一个包中)可以用
能够说出内部类概念
在一个类的里面定义另外的一个/多个类
里面的叫: 内部类
外面的叫: 外部类
能够理解匿名内部类的编写格式
new 接口/父类(){
}