ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

day10_自我总结

2022-07-22 20:39:52  阅读:99  来源: 互联网

标签:总结 子类 代码 自我 接口 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有