其他分享
首页 > 其他分享> > day10_自我总结

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