java复习总结2

来源:互联网 发布:淘宝网图书 编辑:程序博客网 时间:2024/04/29 15:12
静态方法
   与静态变量一样,我们也可以使用 static 修饰方法,称为静态方法或类方法。
   其实之前我们一直写的 main 方法就是静态方法。
    静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。
    如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。
    在普通成员方法中,则可以直接访问同类的非静态变量和静态变量。
     静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。
静态初始化块
   Java 中可以通过初始化块进行数据赋值。
   在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块。如果使用 
   static 修饰初始化块,就称为静态初始化块。
   注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
 面向对象特性
     面向对象三大特性:封装,继承,多态
    封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,
    而是通过该类提供的方法来实现对隐藏信息的操作和访问
    优点:1只能通过规定的方法访问数据2隐藏类的实例细节,方便修改和实现


  java中包的作用:管理java文件 解决同名文件冲突
  包的使用:可以通过import关键字,在某个文件使用其他文件中的类。
  java中,包的命名规范是全小写字母拼写
java中的访问修饰符
      访问修饰符:可以修饰属性和方法的访问范围
      访问修饰符总结
         访问修饰符     本类      同报      子类   其它
  private       是
  默认          是        是
  protected      是       是       是
  public         是        是       是     是
java中的this关键字
        this关键字代表当前对象
this.属性  操作当前对象的属性
this.方法 调用当前对象的方法
    封装对象的属性的时候,经常会使用this关键字
java中的内部类
  内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。
  内部类的主要作用如下:
1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类
2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据
3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便
内部类可分为以下几种:
      成员内部类
      静态内部类
      方法内部类 
      匿名内部类
 java中的静态内部类
        静态内部类是 static 修饰的内部类,这种内部类的特点是:


1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 


2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员


3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
java中的方法内部类
    方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用。
    注意:由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和 static 修饰符。
    内部类不能有自己的成员方法和成员变量
 
 继承
        继承是类与类的一种关系,是一种"is a"的关系
java中的继承是单继承
   继承的好处:子类拥有父类的所有属性和方法(不能使用private修饰)
               实现代码复用 
语法规则:
        class 子类 extends 父类
方法的重写
        如果子类对继承父类的方法不满意,是可以重写父类继承的方法的
当调用方法时会优先调用子类的方法
      语法规则:
              返回值类型
     方法名
     参数类型及个数
     都要与父类继承的方法相同,才叫方法的重写
继承的初始化顺序
     1 初始化父类在初始子类
     2 先执行初始化对象中属性,在执行构造方法中的初始化
  final关键字
      使用final关键字做标识有“最终的”含义
      final可以修饰类、方法、属性和变量
      final修饰类,则该类不允许被继承
      final修饰方法,则该方法不允许被覆盖(重写)
      final修饰属性
          则该类的属性不会进行隐式的初始化(类的初始化属性必须有值)
 或在构造方法中赋值(但是只能选择其中的一个)
     final修饰变量,则该变量的值只能赋一次值,即变为常量
   super关键字
         在对象内部使用,可以代表父类对象
应用:子类的构造过程当中必须调用其父类的构造方法。
      如果子类的构造方法中没有显示调用父类的构造方法,
      则系统默认调用父类无参的构造方法。
      如果显示的调用构造方法,必须在子类的构造方法的第一行。
      如果子类构造方法中即没有显示调用父类的构造方法,而父类又没有无参的构造方法则编译出错,。
Object类
      Object类是所有类的父类,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认继承
      Object类
      Object类中的方法,适合所有子类。
          1   toString()方法
         在Object类里面定义toString()方法的时候返回的对象的哈希code码(对象地址字符串)
 可以通过重写toString()方法表示出对象的属性
         2   equal()方法
         比较的是对象的引用是否指向同一块内存地址

 一般情况下比较两个对象时比较他的值是否一致,所以要进行重写

多态
     对象的多种形态
      1 引用多态
            父类的引用可以指向本类的对象
   父类的引用可以指向子类的对象
      2 方法多态
            创建本类对象时,调用的方法为本类方法
   创建子类对象时,调用的方法为子类重写的方法或者继承的方法
     多态中的引用类型转换
           1 向上类型转换(隐式/自动类型转换),是小类型到大类型的转换
  2 向下类型转换(强制类型转换),是大类型到小类型
  3 instanceof运算符,来解决引用对象的类型,避免类型转换的安全性问题
java中的抽象类
      语法定义:抽象类前使用abstract关键字修饰,则该类为抽象类
      应用场景:
         1 在某些情况下,某个父类只是知道其子类应该包含怎样的方法
,但无法准确知道这些子类如何实现这些方法。
         2 从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,
从而避免了子类设计的随意性。
     作用:限制规定子类必须实现某些方法,但不关注实现细节
     使用规则
          1 abstract定义抽象类
          2 abstract定义抽象方法,只有声明,不需要实现
 3 包含抽象方法的类是抽象类
 4 抽象类中可以包含普通的方法,也可以没有抽象方法
 5 抽象类不能直接创建,可以定义引用变量
java中接口
        接口概念
  接口可以理解为一种特殊的类,由全局常量和公共的抽象方法所组成。
类是一种具体实现体,而接口定义了某一批类所需要遵守的规范,接口不关心
这些类的内部数据,也不关心这些类里必须提供某些方法。
     接口就是用来被继承、被实现的,修饰符一般建议用public,
     注意:不能使用private和protected修饰接口
     常量
       接口中的属性是常量,即使定义时不添加public static final 修饰符,系统也会自动加上
     方法:
       接口中的方法只能是抽象方法,总是使用,即使定义时不添加public abstract修饰符,系统也会自动加上
     使用接口:
        一个类可以实现一个或多个接口,实现接口使用implements关键字。java中一个类只能继承一个父类,
是不够灵活的,通过实现多个接口可以做补充。
    如果要继承父类,继承父类必须在实现接口之前
   使用接口:
      接口在使用过程当中,还经常与匿名内部类配合使用


      匿名内部类就是没有名字的内部类,多用于关注实现而不关注实现类的名称
  
  UML
     概念
         Unified Modeling Language(UML)
又称统一建模语言或标准建模语言
是一个支持模型化和软件系统开发的图形化语言
为软件开发的所有阶段提供模型化和可视化支持
   常用UML图
      用例图
         用例图能够以可视化的方式,表达系统如何满足所收集的业务规则,以及
特定的用户需求等信息。
      序列图
         序列图用于按照交互发生的一系列顺序,显示对象之间的这些交互。
      类图
         UML类图、业务逻辑和所有支持结构一同被用于定义全部的代码结构。

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 二代医保卡丢了怎么办 老医保卡丢了怎么办 上海医保卡余额用完了怎么办 身份证丢了医疗报销怎么办 取公积金身份证丢了怎么办 身份证丢了怎么办就诊卡 人在外地怎么办农村社保卡 武汉医保卡丢了怎么办 济宁社保卡丢了怎么办 农村医疗本丢了怎么办 常熟医保卡丢了怎么办 农民社保卡丢了怎么办 常熟社保卡坏了怎么办 社保卡丢失补办期看病怎么办 社保卡补办期间看病怎么办 医保卡冻结了出院结算怎么办 住院医保卡钱不够怎么办 住院押金条丢了怎么办 急用新社保卡要怎么办 看病没带社保卡怎么办 医保卡掉了住院怎么办 厦门医保卡丢了怎么办 成都医保卡丢了怎么办 长春医保卡丢了怎么办 县城医保卡丢了怎么办 医保卡丢了怎么办南宁 西安职工医保丢了怎么办 重庆医保卡丢了怎么办 外地医保卡丢了怎么办 换单位后医保卡怎么办 单位没交失业金怎么办 沈阳医保卡密码忘了怎么办 西安网约车资格证怎么办 红跑车卡丢了怎么办 苏州住房公积金密码忘了怎么办 公积金查询密码忘记了怎么办 公积金账户密码忘记了怎么办 公积金网上查询密码忘记了怎么办 苏州改公积金密码忘了怎么办 与单位解除劳动合同公积金怎么办 在泰国钱包丢了怎么办