Day1 继承&修饰符1. 继承 1.1继承的概念: 面向对象的三大基本特征之一,使子类可以拥有父类的属性和方法 1.2继承的格式: 语法: public class 子类 extends 父类. 1.3继承的优点: 提高了代码的复用性; 提高了代码的维护性. 1.4继承的缺点: 父类和子类强耦合(紧密联系)在一起了,子类无条件的继承父类的方法. 1.5继承中变量的访问特点: 规则:使用就近原则,局部优先原则. 子类的局部,子类成员,父类的成员. 1.6 super关键字的在访问成员变量时的用法: super.成员变量名-->父类的成员变量; this().成员变量名-->本类的成员变量. 1.7 继承中构造方法的访问特点(super调用构造方法): super();子类回默认调用父类的无参构造方法,super()方法当中除注释以外的第一句代码, this();本类的构造方法,方法当中除注释以外的第一句代码. 1.8 继承中成员的访问特点(super调用成员方法): super.方法名()调用父类方法, this.方法名()调用本类方法. 1.9 方法重写: 子类中出现和父类相同的方法. 1.10 方法重写的注意事项: private方法不允许被重写, private->默认->protected->public子类的方法的修饰符访问范围要大于父类的修饰符. 1.11 继承的注意事项: 类是单继承体系, 类是多层继承. 2. 包2.1 package的概念: 包就是文件件,主要用来管理类. 语法:package com.test; 2.2 import的概念: 导入不同包中的java类 语法:import com.test; 支持通配符* import com.test *; 3. 修饰符3.1 权限修饰符
3.2 final修饰符
变量:变量的值不可被改变; 方法:不可以被重写; 类:不可被继承. 3.3 static修饰符 修饰属性:类名.属性名方式访问, 多个对象共享一个访问值. 修饰方法:类名.方法名()访问. file:///C:\Users\10373\AppData\Local\Temp\ksohtml15800\wps2.pngDay2:多态的抽象类,接口多态的概念:同一段代码在不同的时刻表现出不同的执行形态 多态的前提和体现有继承/实现关系 有方法重写 有父类指向子类对象. 多态成员的访问特点file:///C:\Users\10373\AppData\Local\Temp\ksohtml15800\wps3.png多态的形式访问成员变量,访问的是父类的成员变量. file:///C:\Users\10373\AppData\Local\Temp\ksohtml15800\wps4.png多态的形式访问成员方法,访问的是父类的成员方法,编译看左边,运行看右边. 多态的好处和弊端好处:提高了程序的拓展性. 具体体现:定义方法的时候,使用父类作为参数,将来再使用的时候,使用具体的子类型参与操作. 弊端:不能使用子类型的具体操作. 多态中的转型 file:///C:\Users\10373\AppData\Local\Temp\ksohtml15800\wps5.png向上转型:从子到父,父类引用指向子类对象 自动类型转化 向下转型:从父到子,父类引用转为子类对象 格式:子类 变量 = (子类强转)父类,强制类型转化 抽象类的概念用abstract 修饰的类 抽象方法的概念没有方法体的方法. file:///C:\Users\10373\AppData\Local\Temp\ksohtml15800\wps6.png抽象类的特点1. 抽象类和抽象方法都需要abstract修饰 2. 抽象类里面可以没有抽象方法,但一个类有了抽象方法一定是抽象类. 3. 不能实例化,可以参照多态子类进行实例化,这叫抽象类多态 4. 抽象类的子类要么重写方法要么子类也是抽象类 抽象类的成员特点1. 成员变量:可以是变量也可以是常量 2. 构造方法:有构造方法但是不能实例化,空参构造/有参构造 3. 成员方法:可以有普通方法和抽象方法. 接口的概述特殊的类,类中所有方法都是抽象方法,作为一种行为规范. 接口的特点1. 用关键字interface修饰,所有方法都是抽象方法. 2. 类与接口的关系是实现关系,类实现接口用implements表示. 3. 接口不能实例化对象 4. 接口的实现类,接口的实现类要么重写抽象方法,要么自己变成抽象类. 接口成员的特点1. 接口中的成员变量默认被final/静态 修饰的,(常量被静态修饰),可以用接口名直接访问. 2. 接口里没有构造方法,主要是对行为进行抽象,所以没有具体方法 3. 接口里不能有非抽象方法,接口里的方法只能是抽象的,接口里的方法默认带public abstract的. 类和接口的关系类与类的关系:继承关系,单继承体系,支持多层继承. 类和接口的关系:实现关系,可以单实现,也可以多实现,还可以在继承一个类的时候实现多个接口 接口和接口的关系:接口和接口是继承关系并且是多继承. file:///C:\Users\10373\AppData\Local\Temp\ksohtml15800\wps7.png 抽象类与接口的区别 成员区别 抽象类 | 变量,常量;有构造方法;有抽象方法,也有非抽象方法 | | |
关系区别 设计理念区别
|