day10_自我总结
作者:互联网
一、回顾
1.继承:
继承中访问构造方法
this()==>调用自身的构造方法 super()==>调用父类的构造方法
注意点:
A.this()与super()只能编写在第一行 不能同时存在
B.构造方法不能相互调用 不能递归调用
C.其它方法不能调用构造方法
继承中访问成员方法
特点:优先访问子类的成员方法 子类没有 则向上查找 一直查找到Object 没有则报错
方法重写:
规则:在继承中 方法名相同 参数相同 与返回值类型与访问修饰符有关
注意点:
a.访问修饰符权限不能严于父类
b.返回值类型 不能大于父类的范围
2.final
修饰成员
类: 修饰类 不能被继承
方法: 修饰方法 不能被重写
变量: 只能赋值一次
引用数据类型对象: 不能改变的对象的地址值 可以改变的是对象的属性值
3.包:
作用:
a.用于管理源代码文件 【类型电脑上的文件夹】
b.避免类名冲突 在不同包下可以创建相同的类名
组成:
域名+公司的名称+项目名称+包的具体含义
声明包:
package 完成的包名(idea自动生成)
导包:
a.使用其它包下类的资源的时候 需要导包
b.使用java.lang下包的资源不需要进行导包
4.访问修饰符
public(对外提供访问) private(不需要对外提供访问)
5.多态:
概念: 一种事物或者对象多种形态
前提:必须在继承或者实现接口前提下
特点: 父类的引用指向子类的对象
语法:父类类名 对象名 = new 子类类名()
多态向上转型:
语法: 父类类名 对象名 = new 子类类名()
问题: 不能访问子类独有的资源
多态向下转型
语法: 子类类名 对象名 =(子类类名)父类对象引用
问题: 强制类型转换错误
解决 :instanceof 用于判断是否可以还原成功
多态两种体现:
a.父类作为方法的参数 b.父类作为方法返回值
二、抽象方法
1.概念: 只有方法的声明 没有方法实现 使用abstract来修饰的方法 就是抽象方法
2.语法:
访问修饰符 abstract 返回值类型 方法名称(参数列表);
例如: public abstract void showInfo(int age);
3.作用: 简化方法编写
4.注意点:抽象方法必须在抽象类
5.使用场景: 抽象方法一般定义再父类 用于给子类来进行重写
三、抽象类
1.概念:使用abstract 来进行修饰类就是抽象类
2.语法:
访问修饰符 abstract class 类名{}
例子: public abstract class Fu{}
3.成员:
A.成员变量
B.构造方法
C.方法: 成员方法 抽象方法 静态方法
4.说明:
A.抽象类是不能实例化对象
B.抽象类中构造方法一般用于给子类进行调用
C.抽象方法一定是在抽象类中 但是抽象类中不一定都是抽象方法 可以其它方法
D.如果父类为抽象类 子类必须实现父类中所有的抽象方法 除非子类也是抽象类 就可以不实现
5.抽象方法与抽象类关系
A.抽象方法必须在抽象类中
B.抽象类可以有其它的成员方法 不止是抽象方法
6.使用场景:
抽闲类一般用于作为父类
四、接口
4.1 接口 定义
1.生活中接口:USB接口 Type-C接口 电源接口....
2.开发中接口类似生活中的接口 就是定义一个规范和约束条件
3.规范: 就是定义一些抽象方法
4.关键字 interface
5.接口编译之后也是一个class文件 Class对象
6.语法:
访问修饰符 interface 接口的名称{
抽象方法()
}
例子:
public interface Inner {}
7.成员
A.接口中变量都是静态的常量 默认使用 public static final 来进行修饰符
B.接口中的方法
接口中默认的方法使用 public abstract 来进行修饰符
a.在jdk1.8之前 接口中只能有抽象的方法
b.在jdk1.8之后 接口中可以抽象方法 静态的方法 默认的方法 在jdk1.9之后可以私有的方法
C.接口中没有构造方法
8.注意点:
A.接口没有构造方法 接口不能实例化对象
B.接口一般用于来约束实现类 用于提供给实现类来实现接口(实现规范)
4.2 实现类
1.概念:实现接口的类就是实现类
2.分类:
单实现:只实现一个接口
多实现:同时实现多个接口
3.单实现
语法:访问修饰符 class 类名 implments 接口名称{}
例子: public class Impl implments Inner{}
原则: 实现类必须实现接口中所有的抽象方法(实现是抽象类就可以不实现)
4.多实现:
语法: 访问修饰符 class 类名 implments 接口名称1,接口名称2{}
例子: public class Impl implments Inner1,Inner2{}
原则: 实现类必须实现接口中所有的抽闲方法
注意点:如果多个接口中定义同名的抽象方法 的时候 实现类只需要实现接口重名的一个方法就可以了
五、类与接口 类与类之间的关系
1.类与类:只能单继承 多层继承 不能多继承
2.类与接口:单实现 多实现
3.接口与接口 单继承 多继承 多层继承
六、代码块
1.概念:编写在大括号中的代码 就是代码块 {代码}
2.分类:局部代码块 构造代码块 静态代码块
3.局部代码块
位置: 定义在方法中
语法: {代码}
作用:用于来限制变量的生命周期
说明:在局部代码块外定义的变量 在局部代码块中给变量值 在代码块外获取是改变后的值
4.构造代码块
位置:定义在类中 方法外
语法:{代码}
作用:用于给成员变量赋值
说明:
A.构造代码块是有jvm执行
B.构造代码块优先与构造方法先执行
C.每次实例化对象 都会执行构造代码块
5.静态代码块
位置: 定义在类中 方法外
语法: static {代码}
作用:用于来加载一次配置文件 配置文件只需要加载一次(jdbc配置文件 lo4j配置文件)
说明:
A.静态代码块可以用于给静态变量来赋值
B.静态代码块优先与构造方法先执行
C.静态代码块只执行一次 类加载的时候执行一次
标签:总结,子类,代码,自我,接口,day10,抽象类,父类,方法 来源: https://www.cnblogs.com/zhenglyz/p/16507885.html