继承与多态

  1. 在父子类的继承关系当中,如果成员变量重名,则创建子类对象时,访问有两种方式:

    • 直接通过子类对象访问成员变量:等号左边是谁,就优先用谁,没有则向上找
    • 间接通过成员方法访问成员变量:该方法属于谁,就优先用谁,没有则向上找
  2. 从Java 8 开始,接口里允许定义默认方法

    • 格式

        public default 返回值类型 方法名称(参数列表){
      方法体
      }
    • 备注:接口当中的默认方法,可以解决接口升级的问题

    从Java 9 开始,接口中允许定义私有方法

  3. 多态的代码中,成员变量和成员方法的访问规则

    • 成员变量:编译看左边,运行还看左边
    • 成员方法:编译看左边,运行看右边
  4. 多态

    体现多态性:父类引用指向子类对象

    好处:无论右边new的时候换成哪个子类对象,等号左边调用方法都不会变化

  5. 内部类

    • 成员内部类

      内用外,随意访问;外用内,需要内部类对象

      使用方式:

      1. 间接方式:在外部类的方式当中,使用内部类;然后调用外部类的方法

      2. 直接方式,公式:

        【外部类名称.内部类名称 对象名 = new 外部类名称().new 内部类名称();】

    • 局部内部类(包含匿名内部类)

      要访问所在方法的局部变量,那么这个局部变量必须是【有效final】的。

      从Java 8 开始,只要局部变量事实不变,那么final关键字可以省略

    • 权限修饰符规则:

      1. 外部类:public、(default)
      2. 成员内部类:public、protected、(default)、private
      3. 局部内部类:什么都不写

常用API

String

  1. String和int相互转换

    1. int--->String

      • num + "" 低效
      • String.valueOf(num)
      • Integer.toString(num)
    2. String--->int

      • Integer.parseInt(str)
      • Integer.valueOf(str).intValue()
  2. 双引号直接写的字符串在常量池当中,new出来的不在池中

  3. 常量.equals字符串时建议把常量放前面,避免因字符串为空导致的空指针异常

  4. 分割字符串的split()方法的参数是一个正则表达式,以"."分割是要写成" \\. "

  5. 输出一维数组:Arrays.toString(arr)

    输出二维数组:Arrays.deepToString(str)

  6. String 为什么是 final 的

    1. 实现字符串池:不可变才能实现字符串池,如果字符串是可变的,那么一个引用操作改变了对象的值,对其他引用会有影响

    2. 安全性:这些核心类的内部方法的实现并不是Java本身编写的,好多都是调用的操作系统本地的API,如果String可以被继承重写,就有可能被恶意的重写其中的方法,造成安全隐患;同时因为不可变,使得String是多线程安全的

    3. 效率:如果已经存在这个字符串常量便不会再创建,直接拿来用

JavaSE复习(一)继承多态与常用API的更多相关文章

  1. JavaSE复习日记 : 继承关系和super关键字以及继承关系中方法的覆写

    /* * 类的继承和super关键字 * * 软件开发的三大目的: * 可拓展性; * 可维护性; * 可重用性; * * 这里单说下可重用性这一项: * 为了代码复用,复用方式有: * 函数的调用复 ...

  2. JavaSE 复习_4 接口多态和内部类

    △abstract不可以修饰成员变量 △一个类可以没有抽象方法,可以定义为抽象类,这样的目的是不能让其他类建立本类对象,交给子类完成. △abstract和static(可以被类名调用方法,但是抽象方 ...

  3. JavaSE复习_3 继承

    △先默认初始化,在显示初始化,在构造函数初始化 △继承的弊端:代码的耦合性增加了. △子类不能继承父类的构造方法. △子类会拥有父类的私有成员变量,但是必须通过get,set方法访问. △super不 ...

  4. JavaSE环境Shiro的搭建及常用API

    通过shiroAPI来进行角色的管理 模拟用户是否登录: 模拟用户是否具有相应的权限:

  5. python oop常用术语 继承 多态 封装

    面向对象优点 1.通过封装明确了内外 2.通过继承+多态在语言层面支持了归一化设计 抽象/实现 抽象指对现实世界问题和实体的本质表现,行为和特征建模,建立一个相关的子集,可以用于 绘程序结构,从而实现 ...

  6. Java基础学习笔记十二 类、抽象类、接口作为方法参数和返回值以及常用API

    不同修饰符使用细节 常用来修饰类.方法.变量的修饰符 public 权限修饰符,公共访问, 类,方法,成员变量 protected 权限修饰符,受保护访问, 方法,成员变量 默认什么也不写 也是一种权 ...

  7. 【repost】Javascript操作DOM常用API总结

    Javascript操作DOM常用API总结 文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认 ...

  8. JavaSE学习笔记(8)---常用类

    JavaSE学习笔记(8)---常用类 1.Object类 java.lang.Object类是Java语言中的根类,即所有类的父类.它中描述的所有方法子类都可以使用.在对象实例化的时候,最终找的父类 ...

  9. 常用API【2】

    常用API 1.Math类 1.1 Math类概述 Math包含执行基本数字运算的方法 没有构造方法,如何使用类中的成员呢? 看类的成员是否是静态的,如果是,可以通过类名直接调用 1.2Math类的常 ...

随机推荐

  1. ES6 初体验 —— gulp+Babel 搭建ES6环境

    ES6已经火了好久了,我却一直没有在项目中尝试过使用ES6写代码,只是写过几个Demo,在大型项目中使用ES6这件事,我一直不太敢做.最近公司要求做一个小的H5活动专题,我想不如就在这个小项目中使用E ...

  2. 刚学不久的python,自己稍微加工了一点,影响不大,因为博主很懒,所以格式什么的,就没有太在意了!

    本人初学python,之前因为有接触过其他语言,但是并没有接触的太深,出于对一个hacker的向往,学习一下Linux和python再说,当然,也是为了高工资啦,啊哈哈哈! 一开始就是一个蛮有意思的小 ...

  3. 关于img底部空白

    <img>元素底部为何有空白? 问题: 最近听网课遇到这样一个问题,先po出代码如下: <!--html--> <div class="top"> ...

  4. FullCalendar日历插件(中文API)

    FullCalendar提供了丰富的属性设置和方法调用,开发者可以根据FullCalendar提供的API快速完成一个日历日程的开发,本文将FullCalendar的常用属性和方法.回调函数等整理成中 ...

  5. ethereum(以太坊)(十二)--应用(一)__集资(构造函数/映射)

    pragma solidity ^0.4.4; contract funder{ //0xca35b7d915458ef540ade6068dfe2f44e8fa733c //0x14723a09ac ...

  6. js匿名函数运行的方法

    Javascript中定义函数的方式有多种,函数直接量就是其中一种.如var fun = function(){},这里function如果不赋值给fun那么它就是一个匿名函数.好,看看匿名函数的如何 ...

  7. python创建字典

    创建: {x:x**2 for x in (2,4,6)} dict(xjm=110,lxh=119,pzq=120) dict([('a',1),('b',2),('c',3)])

  8. 18式优雅你的Python

    本文来自读者梁云同学的投稿,公众号:Python与算法之美 一,优雅你的Jupyter 1,更改Jupyter Notebook初始工作路径 平凡方法: 在cmd中输入jupyter notebook ...

  9. TouTiao开源项目 分析笔记14 段子评论

    1.段子页面详情 1.1.先看看预览界面吧 左边的页面已经实现了,现在的目的就是要实现点击左侧的每一个item 然后跳转到右边相应的段子详情页面. 1.2.首先肯定有右侧这个活动==>JokeC ...

  10. Hibernate---架构

    Hibernate 架构是分层的,作为数据访问层,你不必知道底层 API .Hibernate 利用数据库以及配置数据来为应用程序提供持续性服务(以及持续性对象). 下面是一个非常高水平的 Hiber ...